C ++に慣れていないので、質問を練習してきました。私が書いたプログラムの1つに、構造体と配列の使用が含まれています。
#include <iostream>
using namespace std;
int main (void){
struct CandyBar{
char brandName[200];
float weight;
int calories;
};
CandyBar snacks[3] = {
{"Cadbury's Flake",23.5,49},
{"Cadbury's Wispa",49.3,29},
{"Cadbury's Picnic",57.8,49},
};
for(int i=0;i<3;i++){
cout << "Brand Name: " << snacks[i].brandName << endl;
cout << "Weight: " << snacks[i].weight << endl;
cout << "Calories: " << snacks[i].calories << endl;
snacks++;
}
cin.get();
return 0;
}
上記のプログラムは「snacks++」のために失敗しますが、その理由がわかりません。私が理解しているように、配列はポインター( "snacks")とオブジェクト([])の2つの部分で構成されているので、ポインターをインクリメントしているときに "snacks ++"は機能しないのでしょうか?
ありがとうダン