'decltype'的错误参数

时间:2012-09-13 10:36:58

标签: c++ visual-studio-2010

template<class T>
std::vector<T> convert(int argument)
{
}

int main()
{
  decltype(&convert<int>);
  return 0;
}

以下为Visual Studio 2010提供了此错误:

error C3555: incorrect argument to 'decltype'

为什么?

我要创建一个std :: map,其中键是一个枚举,值是一个函数。

1 个答案:

答案 0 :(得分:9)

VS2010 bug。该链接还有一个解决方法:

template <typename T> T identity(T);
decltype(identity(&convert<int>));