我不明白在 c++ 中动态分配结构成员所需的语法。基本上,我需要使用临时数组和 strlen 将 char 数组成员填充到精确大小。这是我的结构:
struct card
{
char *rank;
char *suit;
char color;
bool dealt;
char *location;
};
这是使用该结构的函数:
bool importCard(card *deckPtr, char *deckName);
我创建了一个包含 52 张卡片的数组并为其分配了一个指针,并将其作为第一个参数传递给函数。(deckPtr) 这是函数中的一个循环,它应该将卡片信息读入结构数据成员。
for(index=0;index<52;index++,deckPtr++)
{
fin >> *temp;
charCount=stringLength(temp);
deckPtr.*rank = new char[charCount+1];
stringCopy(*temp, deckPtr.*rank);
fin >> *temp;
charCount=stringLength(temp);
deckPtr.*suit = new char[charCount+1];
stringCopy(*temp, deckPtr.*suit);
if(deckPtr.*suit==('d')||deckPtr.*suit==('h'))
{
(*deckPtr).color='r';
}
else
{
(*deckPtr).color='b';
}
(*deckPtr).dealt=false;
deckPtr.*location = new char[11];
stringCopy(unshPtr, deckPtr.*location);
}
我收到三个编译错误:“等级”“套装”和“位置”“未在此范围内声明”。我究竟做错了什么?谢谢!