C++ 为什么Visual Studio 2010编译器不知道函数?

C++ 为什么Visual Studio 2010编译器不知道函数?,c++,visual-studio-2010,C++,Visual Studio 2010,标题说明了一切。它知道 \uuuu函数\uuuu:函数的裸名称 \uuuu FUNCSIG\uuuu:函数的完整名称(带返回类型和参数) \uuuuu函数名\uuuuuu:函数的名称已损坏 但不是\uuuu func\uuuu,尽管它是。我希望我的代码与平台无关,所以我不太愿意使用上面的代码。你有什么建议吗?谢谢大家! 微软对C99的支持充其量只是粗略的 根据Microsoft网站上的此列表,Visual Studio 2015支持此功能。最早支持它的版本似乎是Visual Studio 2

标题说明了一切。它知道

  • \uuuu函数\uuuu
    :函数的裸名称
  • \uuuu FUNCSIG\uuuu
    :函数的完整名称(带返回类型和参数)
  • \uuuuu函数名\uuuuuu
    :函数的名称已损坏

但不是
\uuuu func\uuuu
,尽管它是。我希望我的代码与平台无关,所以我不太愿意使用上面的代码。你有什么建议吗?谢谢大家!

微软对C99的支持充其量只是粗略的


根据Microsoft网站上的此列表,Visual Studio 2015支持此功能。最早支持它的版本似乎是Visual Studio 2013,因此如果确实需要使用该宏,您可能需要升级。

Microsoft最近才开始(部分)支持C99-您需要升级到VS 2015。它在VS2015中运行良好。如果您的VS版本很旧,而且VS2010在gcc时代肯定是老掉牙的,那么不,您不能指望C99的合规性。跨平台代码中总是充斥着#如果,您只需要另一个代码来检查
\u MSC\u VER
#定义#函数#
。或者更新,你迟早都得这么做,所以最好快点。