0

私は次の列挙型を持っています:

namespace Country {
    enum {
        ITALY = 1,
        SPAIN = 2
    };
}

そして、次の UnitTest++ テスト:

TEST(something) {
    CHECK_EQUAL(Country::SPAIN, object.getCountry(1)); // getCountry returns int
}

これはうまくいきません。自動的に int 2 に変換されると思ってCountry::SPAINいましたが、代わりに次のエラーが発生します。

error: no matching function for call to ‘CheckEqual(UnitTest::TestResults&, Country::<anonymous enum>, int, UnitTest::TestDetails)’
4

1 に答える 1

1

int列挙型を自分にキャストします。

TEST(something) {
    CHECK_EQUAL(static_cast<int>(Country::SPAIN), object.getCountry(1));
}
于 2011-03-29T23:51:24.790 に答える