Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.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_Instance - Fatal编程技术网

C++ 如何在一个数组中保存更多指针

C++ 如何在一个数组中保存更多指针,c++,arrays,class,instance,C++,Arrays,Class,Instance,我想创建一个指向类实例的指针。许多实例-这就是为什么我制作了一个数组来保存所有这些。 但是如何将类中指针的值设置为0呢? 这就是代码。。。也许你知道我在说什么 public: CCharacter *pTeamMember[15]; 在另一个文件中: pTeams[team]->pTeamMember = 0; pTeams[i] = 0; 它会导致以下错误 错误C2440:“=”无法将“int”转换为“CCharacter*[15] 我不明白的是,这不会导致任何错误: pu

我想创建一个指向类实例的指针。许多实例-这就是为什么我制作了一个数组来保存所有这些。 但是如何将类中指针的值设置为0呢? 这就是代码。。。也许你知道我在说什么

public:
    CCharacter *pTeamMember[15];
在另一个文件中:

pTeams[team]->pTeamMember = 0;
pTeams[i] = 0;
它会导致以下错误

错误C2440:“=”无法将“int”转换为“CCharacter*[15]

我不明白的是,这不会导致任何错误:

public:
    Team *pTeams[31];
在另一个文件中:

pTeams[team]->pTeamMember = 0;
pTeams[i] = 0;

有人有想法吗?

pTeamMember
不是指针。它是指向-
CCharacter
的指针数组

在第二个示例中,您将分配给数组中的一个指针。您也可以使用
pTeamMember

pTeams[team]->pTeamMember[i] = 0;

要将指针的值设置为0(假定您的意思是指向零),可以执行以下操作。注意,可以使用0或null pTR(它是C++ 11的有效)

int*p=nullptr

关于您的具体示例,请更改

pTeams[team]->pTeamMember=0


pTeams[team]>pTeamMember[index]=0

什么是
CCharacter
Team
?抱歉,请尝试:
pteamms[Team]->pTeamMember[member]=0(成员是对应的索引)您的第一次错误赋值尝试将整型常量赋值给数组。数组不允许作为赋值表达式中的左值。它们的“值”是固定的(数组中第一个元素的地址),不能更改。第二个示例是允许的,因为您正在为驻留在指针数组中的指针赋值。这是指针和数组之间的根本区别;指针保存地址;数组是地址。不要使用数组,使用
std::vector
或者更好的方法,使用
unique\u ptr
shared\u ptr
的向量。