【发布时间】:2012-08-03 10:54:02
【问题描述】:
我有这段代码,GCC 会打印“什么!?”。我怎样才能避免这种情况,所以 void 演员只是有 C 意思“忽略孤独的 'a;'”?
#include <iostream>
struct A {
template<typename T>
operator T() {
std::cout << "what!?";
}
};
int main() {
A a;
(void)a;
}
【问题讨论】:
-
你为什么需要这个?
-
不可以用
void专门化模板函数吗? (空体) -
请注意,在 C 中,如果
a对象是 volatile 限定的,那么语句(void) a;也会产生副作用