Code: Alles auswählen
template<bool isTrue> struct IsTrue;
template<> struct IsTrue<true>
{
};
struct Test
{
IsTrue<false> failToCompileIfNotTrue;
};
Mache ich die Variable hingegen static'Test::failToCompileIfNotTrue' uses undefined struct 'IsTrue<isTrue>'
1> with
1> [
1> isTrue=false
1> ]
Code: Alles auswählen
template<bool isTrue> struct IsTrue;
template<> struct IsTrue<true>
{
};
struct Test
{
static IsTrue<false> failToCompileIfNotTrue;
};
Genauso kompiliert das, wenn es in eine lokale Variable in einer Funktion innerhalb von Test ist.
Kann sich das (bzw. mir den Grund) wer erklären?
Die Frage ist eher interessehalber. Habe das eigentlich Problem jetzt anders gelöst (wozu habe ich schließlich COMPILE_TIME_ASSERT_TRUE ...)