Nir*_*o56 6 c++ syntax-error game-engine
这是我正在处理的游戏引擎代码的一部分.当我构建/调试代码时,它会因编译错误而停止:"Camera.cpp(70):错误C2059:语法错误:'=='"和第70行是
if ( near == far )线.它也发生在第75行:
(if near == NULL || far == NULL)
bool Camera::SetClippingPlanes( float near, float far )
{
if (near == far) //Line 70(First Error)
{
MessageBox(NULL, L"ERROR: The far and near clipping planes cannot be equal!", L"Error", MB_OK | MB_ICONERROR);
return false;
}
else
{
if (near == NULL || far == NULL) //Line 75(Second Error)
{
MessageBox(NULL, L"ERROR: Near and/or Far clipping planes are null!", L"Error", MB_OK | MB_ICONERROR);
return false;
}
else
{
nearPane = near;
farPane = far;
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有其他函数以相同的方式使用==运算符,但它们不会收到错误.如果您有任何建议,谢谢...
Ala*_*kes 17
许多年前(在遥远的星系中)near并且far是关键词.看起来您的编译器仍然认为它们是 - 它可能试图提供帮助.
您需要选择不同的名称,或者弄清楚如何关闭这个特定的向后兼容"功能".
Big*_*oss 10
您编码窗口和窗口中如果包含WINDOWS.H或包括它(当然包括你,因为你必须MessageBox的调用)的文件,然后far和near都在定义windef.h,你不能把它们作为变量名