[英]How to use C++ enums with UnitTest++ checks?
我有以下枚舉:
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)’
將枚舉強制轉換為int
自己:
TEST(something) {
CHECK_EQUAL(static_cast<int>(Country::SPAIN), object.getCountry(1));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.