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);
}
「ランク」、「スーツ」、「ロケーション」が「このスコープで宣言されていません」という 3 つのコンパイル エラーが発生します。私は何を間違っていますか?ありがとう!