我收到parameter name omitted
此代码错误
#include <GL3/gl3w.h>
void f(int near, int far) {
}
int main() {
return 0;
}
从这个问题我怀疑 gl3w 包含 WinDef.h 但我无法在源代码中找到它。这个问题的根源是什么,如何纠正?
我收到parameter name omitted
此代码错误
#include <GL3/gl3w.h>
void f(int near, int far) {
}
int main() {
return 0;
}
从这个问题我怀疑 gl3w 包含 WinDef.h 但我无法在源代码中找到它。这个问题的根源是什么,如何纠正?
为确保问题不是来自WinDef.h
,您可以尝试取消定义near
and far
,看看它是否有效。
#undef far
#undef near
该错误似乎与此定义的行为相匹配。是near
并且far
被定义为空宏,您的参数将没有标识符。
near 和 far 用于指示指针的类型,很可能被定义为
#define near
#define far
这让你
void f(int , int )
{
}
这是 C 中的无效函数定义。(参数必须有名称)。要么取消定义它们 ( #undef
) 要么更改参数名称。请注意,仅在函数定义中,这不是函数声明(即void foo(int, int);
- 如在头文件中)中的问题。
具体来说,gl3w.h包含gl3.h包含windows.h