私はあなたが入力30ビット長の5つの単語それぞれにできる文字の配列を作成した上で、私は例の文字列にポインタを使用するには?
char name[5][30];
for (int i = 0; i < 5; i++)
cin >> name[i];
for (int i = 0; i < 5; i++)
cout<<name[i];
このコードは、私の質問は、特定のではない知っているが、私はそれを説明しましょう。それはうまく動作しますが、あなたが入力しようとしている単語の数がわからないときにポインタを使用しようとすると、 5行目でint型の値がcharに代入されず、エラーを理解できるというエラーが出ますが、どのようにこの問題を解決するのですか?
int n;
cout << "Number of names" << endl;
cin >> n;
int *name;
name = new char[n][30];
for (int i = 0; i < 5; i++){
cin >> *name;
name++;
}
for (int i = 0; i < 5; i++){
cout << *name;
name++;
}
はどのように正確には 'name'の初期化されていないが、自動的に' new'-ED配列を指すように期待していますか? –
'std :: vector'と 'std :: string'です。 –
私は間違いを修正しましたが、問題はまだ残っています。それはタイプミスです –