SDL_Rect 带有无效值的声明
SDL_Rect declaration with values not working
我正在研究包含以下内容的代码:
...
SDL_Rect rect(0, 0, 100, 50);
...
但是当我这样做时,出现以下错误:
error: expected declaration specifiers or ‘...’ before numeric constant
49 | SDL_Rect rect(0, 0, 100, 50);
谁能告诉我为什么?
如果你编译为 C,这是无效的。 C 中没有构造函数。编译器将您的代码的第一部分解释为前向声明,而后半部分将其混淆。
就这样定义SDL_Rect
SDL_Rect rect;
rect.x = 0;
rect.y = 0;
rect.w = 100;
rect.h = 50;
这是 libsdl 参考:
https://wiki.libsdl.org/SDL_Rect
尽管由于您正在研究代码,您可能只想将其编译为 C++,因为它看起来就是用它编写的。
我正在研究包含以下内容的代码:
...
SDL_Rect rect(0, 0, 100, 50);
...
但是当我这样做时,出现以下错误:
error: expected declaration specifiers or ‘...’ before numeric constant
49 | SDL_Rect rect(0, 0, 100, 50);
谁能告诉我为什么?
如果你编译为 C,这是无效的。 C 中没有构造函数。编译器将您的代码的第一部分解释为前向声明,而后半部分将其混淆。
就这样定义SDL_Rect
SDL_Rect rect;
rect.x = 0;
rect.y = 0;
rect.w = 100;
rect.h = 50;
这是 libsdl 参考: https://wiki.libsdl.org/SDL_Rect
尽管由于您正在研究代码,您可能只想将其编译为 C++,因为它看起来就是用它编写的。