我只是用decltype玩一下,注意到VS 2012中的intellisense给了我一个错误。这是我第一次遇到这个,代码仍在编译中。
#include <iostream>
int func(int param)
{
std::cout << "IM BEING CALLED: " << param << std::endl;
return 0;
}
int main()
{
auto& y = func;
auto z = func;
decltype((func))& x = func;
decltype((func)) k = func; // function 'k' may not be initialized but compiles
func(9);
x(10);
y(11);
z(12);
k(13);
std::cout << std::endl;
std::cout << "Address of func: " << func << std::endl;
std::cout << "Address of x: " << x << std::endl;
std::cout << "Address of y: " << y << std::endl;
std::cout << "Address of z: " << z << std::endl;
std::cout << "Address of k: " << k << std::endl;
std::cin.get();
return 0;
}
对于大多数人来说,这不是一个大问题也不是有趣的,但我只是想知道是否有人知道错误背后的原因?
答案 0 :(得分:1)
我只是想知道是否有人知道错误背后的原因
这只是一个解析错误。没什么,没什么。