C++相談室 part60
■ このスレッドは過去ログ倉庫に格納されています
0447デフォルトの名無しさん
2008/02/13(水) 18:51:49いや、それは戻り値に評価されるから合法だと思うんだ。よくやるよね。
そうではなくて、コンストラクタの呼び出しをsizeofの引数に渡してる
んだよね。こういうやつ。
template<bool> struct CompileTimeChecker {
CompileTimeChecker(...);
};
template<> struct CompileTimeChecker<false> {
};
//macro definition
#define STATIC_CHECK(expr, msg) \
{ \
class ERROR_##msg{}; \
(void)sizeof(CompileTimeChecker<(expr) != 0>((ERROR_##msg()))); \
}
sizeof(CompileTimeChecker<(expr) != 0>((ERROR_##msg())));
が怒られる。
■ このスレッドは過去ログ倉庫に格納されています