如何使用 C++带有 UnitTest 的枚举++检查?
我有以下枚举:
namespace Country {
enum {
ITALY = 1,
SPAIN = 2
};
}
和以下 UnitTest++ 测试:
TEST(something) {
CHECK_EQUAL(Country::SPAIN, object.getCountry(1)); // getCountry returns int
}
这不起作用。我以为 Country::SPAIN
会自动转换为 int 2,但我得到了这个错误:
error: no matching function for call to ‘CheckEqual(UnitTest::TestResults&, Country::<anonymous enum>, int, UnitTest::TestDetails)’
I have the following enum:
namespace Country {
enum {
ITALY = 1,
SPAIN = 2
};
}
And the following UnitTest++ test:
TEST(something) {
CHECK_EQUAL(Country::SPAIN, object.getCountry(1)); // getCountry returns int
}
This doesn't work. I thought Country::SPAIN
would be automatically converted to int 2, but instead I get this error:
error: no matching function for call to ‘CheckEqual(UnitTest::TestResults&, Country::<anonymous enum>, int, UnitTest::TestDetails)’
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
自己将枚举强制转换为
int
:Cast the enum to
int
yourself: