可能重复:
C++03 中缺少 typeof 运算符?
是否可以使用模板在 pre-C++0x C++ 中可移植地获取表达式的编译时类型?
就像是:
int foo() { return 0; } //Let's say we have this
typeof(foo()) x; //x would now be of type 'int'
但由于我们正在使用模板,显然可能需要稍微不同的语法。
(我在这里和网络上的其他地方看到了许多重复项,但它们似乎依赖于编译器特定的功能或 C++0x(C++11?)decltype
功能。)