Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在类外初始化数组并为第一个元素设置值?_C++_Arrays_Class_Static_Initialization - Fatal编程技术网

C++ 如何在类外初始化数组并为第一个元素设置值?

C++ 如何在类外初始化数组并为第一个元素设置值?,c++,arrays,class,static,initialization,C++,Arrays,Class,Static,Initialization,用于Arduino。问题是:Player::coords[0]={0,0} 标题文件: \ifndef游戏 #定义游戏 #包括 职业选手{ 公众: int getScore(); 静态整数坐标[3250][2]; 坐标:x,y 私人: 静态积分; }; #恩迪夫 Cpp文件: #包括“game.h” int Player::score=1; int Player::getScore(){ 返回此->分数; } int Player::coords[3250][2]; Player::coord

用于Arduino。问题是:Player::coords[0]={0,0}

标题文件:

\ifndef游戏
#定义游戏
#包括
职业选手{
公众:
int getScore();
静态整数坐标[3250][2];
坐标:x,y
私人:
静态积分;
};
#恩迪夫
Cpp文件:

#包括“game.h”
int Player::score=1;
int Player::getScore(){
返回此->分数;
}
int Player::coords[3250][2];
Player::coords[0]={0,0};

编译器写道:“类播放器”中的“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];
Player::coords[0] = {0, 0};
事实上,这些陈述与这一陈述是等价的

int Player::coords[3250][2] = { { 0, 0 } };

甚至只是

int Player::coords[3250][2];

因为数组具有静态存储持续时间,编译器初始化为零。

您不能在函数之外分配变量。您不能在函数之外分配变量。