我正在尝试将GA库(GALib)添加到我的无错程序中,当我将其添加时,编译器会返回奇怪的错误并重复多次。例如,“语法错误:之前缺少'{'对于以下模板代码的第一行,返回'<'“:
template<class _Ty>
_Check_return_ inline _Ty _Pow_int(_Ty _Xx, int _Yx) _NOEXCEPT
{
unsigned int _Nx;
if (_Yx >= 0)
_Nx = static_cast<unsigned int>(_Yx);
else
_Nx = static_cast<unsigned int>(-_Yx);
for (_Ty _Zx = static_cast<_Ty>(1); ; _Xx *= _Xx)
{
if ((_Nx & 1) != 0)
_Zx *= _Xx;
if ((_Nx >>= 1) == 0)
return (_Yx < 0 ? static_cast<_Ty>(1) / _Zx : _Zx);
}
}
错误在cmath.h中
对同一行重复该错误,例如25次左右。许多其他人也一样。 (提到的错误是列表中的第一个)
PS。我按照以下顺序添加了GA文件:
1-项目属性> C++>其他包含库>选择文件夹
2-将包含标题和源的文件夹拖放到项目解决方案管理器中
PPS。所有源文件都带有扩展名.C而不是.cpp
我该如何解决这种情况?
最佳答案
此页面中的以下步骤:msdn.microsoft.com/zh-cn/library/032xwy55.aspx大多数错误刚刚消失(包括提到的错误)。
主要问题是编译器使用默认选项处理.C文件,如前所述,我将其更改为C++。
关于c++ - 奇怪的编译器行为(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41156224/