我的代码中出现了一个非常奇怪的错误。我用C ++创建了这个类:
class Tester{
float f;
Tester(float,float);
};
我实现了这样:
Tester::Tester(float near,float a){
this->f=near/a;
}
我收到以下错误:
..\src\Tester.cpp: In constructor 'Tester::Tester(float, float)':
..\src\Tester.cpp:4:14: error: expected primary-expression before '/' token
this->f=near/a;
^
当我将near
重命名为其他内容时,错误消失了。这当然不是很重要,因为我可以重命名这个变量,但我很好奇你是否有人知道原因。
更新
原因是windef.h
的存在。它由windows.h
通过wglext.h
包含在内。
答案 0 :(得分:4)
在某些标题中,编译器似乎将near定义为宏。通常这个宏用于" near"指针。