我使用带有标志 c++0x 的 g++ 4.6.3(当前是 ubuntu 12.04 的默认包),我偶然发现了这个:
template <typename T>
inline T getValue(AnObject&)
{
static_assert(false , "this function has to be implemented for desired type");
}
编译错误:
static_assertion failed "this function has to be implemented for the desired type"
即使我还没有在任何地方调用这个函数。
它是一个 g++ 错误吗?仅当在代码中的某处调用此函数时才应实例化此函数。