1

これは主な構造です:

#include <iostream>
using namespace std;

struct CandyBar 
{
    char brand_name[30];
    float candy_weight;
    int candy_calories;
};

int main()
{
    CandyBar * snack = new CandyBar [3];

    return 0;
}

動的に割り当てられた 3 つの構造体を 3 つの要素の配列で初期化することができました。次の方法で構造にアクセスしようとしました:

snack[0]->brand_name = "Whatever";

他の方法でも結果はありません:

(*snack[0]).brand_name = "Whatever";

私はこれらを数日間研究していたので、本当に手がかりがありません.

4

2 に答える 2

2

snackは構造体の配列であるため、 を使用するだけですsnack[0].brand_name

=また、C で使用するだけで文字列をコピーすることもできません。strcpy代わりに次を使用します。

strcpy(snack[0].brand_name, "Kitkat");
于 2012-09-28T01:20:09.487 に答える
0

C++ では、文字列は配列であり、配列は を使用してコピーできません=。試す:

strcpy(snack[0].brand_name, "Whatever");
于 2012-09-28T01:38:17.533 に答える