3

私は C++ の初心者向けの距離クラスを受講していますが、このコンパイル エラーを解決できません。例の本とまったく同じように書かれており、兄がそれを切り取り、VS2015 に貼り付けると正常に動作しますが、私の VS2017 では動作しません。VS2017 コミュニティをアンインストールして再インストールしましたが、役に立ちませんでした。

私はコーディングを始めて 2 週間しか経っていないので、とても初心者です。

私が得るエラーコードは次のとおりです。

エラーE0167型「const char」の引数は、型「char」のパラメーターと互換性がありません
エラーC2664 'void Hello(char )': 引数 1 を 'const char [8]' から 'char ' に変換できません

コード:

// FUNCTION: Hello, prints out a welcome message on the screen.
void Hello(char* name)
{
 cout << "Hello " << name << "!";
}

// FUNCTION: Main, program start.
int main()
{
 Hello("Krister");
 cin.get();
 return 0;
}

誰かがこれで私を助けてくれることを本当に願っています。

万歳、ジェップ

4

2 に答える 2

6

Lightness Races in Orbitの回答を補足するために、何をすべきかを説明しています。VS2015 と VS2017 の違いの理由は、前者とは異なり、後者がデフォルト/permissiveでフラグをオフに設定するためです。

プロジェクトオプションがいじられない限り、VS2017は「あなたの兄弟」のVS2015が受け入れるコードを拒否する可能性が非常に高いことを意味します。

フラグをオフの状態にしておくことをお勧めします。厳密な適合性は良いことです。それにより、より良い習慣を身につけ、より移植性の高い C++ を書くことができます。

于 2018-02-26T12:19:32.363 に答える