ホームページ  >  記事  >  バックエンド開発  >  C++ 構文エラー: 関数に戻り値がありません。どのように変更すればよいですか?

C++ 構文エラー: 関数に戻り値がありません。どのように変更すればよいですか?

WBOY
WBOYオリジナル
2023-08-22 16:23:022000ブラウズ

C++ 構文エラー: 関数に戻り値がありません。どのように変更すればよいですか?

今日は、C プログラミングでよくある問題、つまり関数が値を返さないことによって引き起こされる構文エラーと、その修正方法について見ていきます。

C プログラミングでは、関数を定義し、プログラム内の別の場所で呼び出す必要がよくありますが、このとき、関数の戻り値に注意する必要があります。関数が戻り値を持つように定義されている場合、関数の実行後に対応する値が返される必要があります。そうしないと、コンパイラは「関数には戻り値がありません」というエラーを発行します。

ここで、簡単な例を見てみましょう:

#include <iostream>
using namespace std;

int sum(int a, int b) {
    int c = a + b;
}

int main() {
    int a = 1, b = 2;
    int result = sum(a, b);
    cout << result << endl;
    return 0;
}

上記のコードでは、2 つの整数の合計を計算するために使用される関数 sum を定義します。ただし、関数の実装では、2 つの数値の合計を計算するだけで、それを返しませんでした。したがって、コンパイル時に、コンパイラはエラーを表示します。

错误 C4716: 'sum': 必须返回值

このエラーを修正するには、関数 sum に戻り値を追加します。この例では、2 つの数値の合計を返す必要があるため、関数宣言を次の形式に変更できます:

int sum(int a, int b) {
    int c = a + b;
    return c;
}

この時点で、コードを再度コンパイルするときに、「関数」を回避します。戻り値がありません」という構文の間違いです。

関数に戻り値を追加するだけでなく、 void キーワードを使用して戻り値のない関数を定義することもできます。 void キーワードは、関数宣言と関数定義の両方で必要です。変更されたコードは次のとおりです。

#include <iostream>
using namespace std;

void printMessage() {
    cout << "Hello World!" << endl;
}

int main() {
    printMessage();
    return 0;
}

この例では、戻り値のない関数 printMessage を定義して、メッセージを出力します。関数自体には戻り値がないため、関数本体に return ステートメントを追加する必要がないことに注意してください。

つまり、戻り値のある関数を定義する場合でも、戻り値のない関数を定義する場合でも、「関数には戻り値がありません」というエラーを避けるために、コードを記述する際にはその構文構造に注意する必要があります。

以上がC++ 構文エラー: 関数に戻り値がありません。どのように変更すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。