在Arduino中使用。问题在那里:Player::coords [0] = {0,0};
标题文件:
#ifndef game_h
#define game_h
#include <Arduino.h>
class Player {
public:
int getScore();
static int coords[3250][2];
coordinates: x, y
private:
static int score;
};
#endif
Cpp文件:
#include "game.h"
int Player::score = 1;
int Player::getScore() {
return this->score;
}
int Player::coords[3250][2];
Player::coords[0] = {0, 0};
编译器写道:“class Player”中的“coords”未命名类型
最佳答案
您不能在命名空间范围内这样做
int Player::coords[3250][2];
Player::coords[0] = {0, 0};
实际上,这些陈述与此等价
int Player::coords[3250][2] = { { 0, 0 } };
要么
int Player::coords[3250][2] = {};
甚至只是
int Player::coords[3250][2];
因为该数组具有静态存储持续时间,并且由编译器初始化为零。
关于c++ - 如何初始化类之外的数组并为第一个元素设置值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56398789/