【发布时间】:2011-04-25 11:33:14
【问题描述】:
我最近开始阅读 Andrei Alexandrescu 的 Modern C++ Design。阅读编译时断言后,我尝试了以下代码:
模板由于第 2 行,该代码不应编译,但编译正常。如果我将第 1 行更改为
(void)(CompileTimeChecker((ERROR_##msg()))); /*第 1 行*/ }或
新的 CompileTimeChecker((ERROR_##msg())); /* 第 1 行 */ }它按预期工作。没看懂。
【问题讨论】:
-
关闭另一个作为重复。让这个打开。
-
@Paul R :我认为@Saurabh 两次发布了相同的问题(我认为是错误的),另一个已经被关闭作为这个问题的副本,现在考虑到这个问题你正在关闭这个被别人骗了。
-
@Prasoon:当我投票关闭此副本时,两者都仍然打开 - 通常较新的副本已关闭,但我想只要只剩下一个就没有关系
标签: c++ templates compile-time