在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/

10-15 04:54