我的 SDL_Rect 结构在添加成员时出现错误 C3927、C3484、C3613、C3646、C2059 和 C2238
My SDL_Rect struct gives me errors C3927, C3484, C3613, C3646, C2059 and C2238 when adding members
我是 SDL 的新手,我显然遇到了困难,但经过一番研究后我能够解决它们。但这是我自己无法解决的另一个问题。这可能看起来很愚蠢,但我真的不知道哪里出了问题。
我正在尝试为我希望在屏幕上呈现的其中一张图像创建一个 SDL_Rect 结构。我希望它能完美无缺,因为我从几个网站仔细检查过它,我非常有信心我知道该怎么做。您将看到的只是我的头文件,如果它不足以解决问题,我会添加其他信息。
#include <SDL.h>
#include <string>
using namespace std;
class GeneralStuff
{
public:
bool quit;
SDL_Renderer* renderer = NULL;
// steve is 445 x 741, with no good LCM, in case you forget future me
SDL_Rect steve;
steve.x = 300;
steve.y = 150;
steve.w = 445;
steve.h = 741;
void QuitCheck();
void init();
SDL_Texture* load_image(SDL_Texture* the_texture, string path);
};
然后我分别收到了 Steve 的每个成员的这些错误:
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,7): error C3484: syntax error: expected '->' before the return type
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,10): error C3613: missing return type after '->' ('int' assumed)
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,10): error C3646: 'x': unknown override specifier
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,10): error C2059: syntax error: '='
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,15): error C2238: unexpected token(s) preceding ';'
我很绝望,尝试从教程中复制粘贴并得到相同的结果。我正在使用 Visual Studio 2019,每个“史蒂夫”下面都有红色卷线(表示错误的那条),除了第一个(第 15 行)之外,他旁边有一个点。我还没有对 Steve 做任何事情,因为我被错误吓坏了,没有它它工作得很好,所以我希望错误在第 14 行和第 21 行之间。
非常感谢任何帮助。
为您的class编写构造函数。
class GeneralStuff
{
public:
GeneralStuff()
{
steve.x = 300;
steve.y = 150;
steve.w = 445;
steve.h = 741;
}
bool quit;
SDL_Renderer* renderer = NULL;
// steve is 445 x 741, with no good LCM, in case you forget future me
SDL_Rect steve;
...
};
这是基本的 C++。或许您应该先花一些时间学习 C++,然后再尝试 SDL?这样事情肯定会更顺利。您可以找到书籍推荐 here。
我是 SDL 的新手,我显然遇到了困难,但经过一番研究后我能够解决它们。但这是我自己无法解决的另一个问题。这可能看起来很愚蠢,但我真的不知道哪里出了问题。
我正在尝试为我希望在屏幕上呈现的其中一张图像创建一个 SDL_Rect 结构。我希望它能完美无缺,因为我从几个网站仔细检查过它,我非常有信心我知道该怎么做。您将看到的只是我的头文件,如果它不足以解决问题,我会添加其他信息。
#include <SDL.h>
#include <string>
using namespace std;
class GeneralStuff
{
public:
bool quit;
SDL_Renderer* renderer = NULL;
// steve is 445 x 741, with no good LCM, in case you forget future me
SDL_Rect steve;
steve.x = 300;
steve.y = 150;
steve.w = 445;
steve.h = 741;
void QuitCheck();
void init();
SDL_Texture* load_image(SDL_Texture* the_texture, string path);
};
然后我分别收到了 Steve 的每个成员的这些错误:
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,7): error C3484: syntax error: expected '->' before the return type
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,10): error C3613: missing return type after '->' ('int' assumed)
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,10): error C3646: 'x': unknown override specifier
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,10): error C2059: syntax error: '='
1>C:\Users\SecretName\Downloads\CodingJeff\SDL_Test\SDL_Project\GeneralStuff.h(17,15): error C2238: unexpected token(s) preceding ';'
我很绝望,尝试从教程中复制粘贴并得到相同的结果。我正在使用 Visual Studio 2019,每个“史蒂夫”下面都有红色卷线(表示错误的那条),除了第一个(第 15 行)之外,他旁边有一个点。我还没有对 Steve 做任何事情,因为我被错误吓坏了,没有它它工作得很好,所以我希望错误在第 14 行和第 21 行之间。
非常感谢任何帮助。
为您的class编写构造函数。
class GeneralStuff
{
public:
GeneralStuff()
{
steve.x = 300;
steve.y = 150;
steve.w = 445;
steve.h = 741;
}
bool quit;
SDL_Renderer* renderer = NULL;
// steve is 445 x 741, with no good LCM, in case you forget future me
SDL_Rect steve;
...
};
这是基本的 C++。或许您应该先花一些时间学习 C++,然后再尝试 SDL?这样事情肯定会更顺利。您可以找到书籍推荐 here。