gpt4 book ai didi

C++ SDL 在 '-' token 之前预期的不合格 ID

转载 作者:行者123 更新时间:2023-11-30 02:53:42 28 4
gpt4 key购买 nike

我用过:

typedef struct entity {
int health;
int damage;
SDL_Rect hitbox;
} player, basicEnemy[10];

处理我的玩家(和敌人)。我的问题是我得到:

error: expected unqualified-id before '-' token

对于这一行(和一个类似的行):

if( keystate[SDLK_LEFT] )  player.hitbox.x -= 1;

我该如何解决这个问题?如果我在结构上没有 typedef,则不会发生错误,但另一个错误会发生(这就是为什么我让它有 typedef)

标题:

#include "SDL.h"
#include "SDL\SDL.h"
#include <string>

最佳答案

typedef 定义类型别名。通过说:

typedef struct entity {
// ...
} player, basicEnemy[10];

你是说:

struct entity {
// ...
};

typedef entity player; // 'player' is an alias for 'entity'.
typedef entity basicEnemy[10]; // 'basicEnemy' is an alias for 'entity[10]'.

当您真正的意思是制作一个struct 声明和两个实例定义时:

struct entity {
// ...
} player, basicEnemy[10];

最好将它们分开,以避免这种潜在的混淆:

struct entity {
// ...
};

entity player, basicEnemy[10];

请注意,在 struct 声明之后需要一个分号,即使它没有进行实例定义也是如此。

关于C++ SDL 在 '-' token 之前预期的不合格 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713451/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com