こんにちは、プログラマーはプログラマーでstrcmpに問題があります。これは私のコードです。C++ strcmpの 'char'から 'const char *'への変換
while (strcmp("m",wood) !=0 || strcmp("j",wood) !=0 || strcmp("o",wood) !=0){
cout << "(m for mahogany, o for oak, or p for pine): ";
cin >> wood;
}
これは私のエラーです。
- dining.cpp:メンバ関数で 'ボイドDiningSet :: woodType()':
- dining.cpp:76:24:エラー: 'CONSTのchar *' に '文字' から無効な変換[ - (const char *、const char *)[-fpermissive]
- dining.cpp:76:48:エラー:初期化引数2の 'int strcmp(const char *、const char *エラー: 'char'から 'const char *'への無効な変換[-fpermissive] /usr/include/string.h:143:12:エラー: 'int strcmp(const char *、const char *) '[ - 受精]
- dining.cpp:76:72:error: 'char'から 'const char *'への無効な変換 /usr/include/string.h:143:12:エラー: 'int strcmpの引数2を初期化しています
strcmp()
で使用される、それが文字列でなければならない、すなわち、char*
:(CONSTのchar *、CONSTのchar *)が」[-fpermissive]
あなたは2 'char'justの使用を'比較したい場合は、 '||' '==' && ' – xanatos
次のようになります。それは
strcmp
の署名があるconst char *
である必要があります2つの文字列( 'char *')を比較したい場合は 'strcmp'を使います。 1文字と文字列を比較するのは意味がありません。これはあなたがしているようなものです。 –
木材のデータ型は何ですか? –