C++で関数を宣言する方法:プロトタイプを使った正しい書き方と役割

C++では、**関数を定義する前に宣言しておく(プロトタイプ宣言)**ことで、関数をコードのどこからでも呼び出せるようにできます。これは、関数の本体がmain()関数より後に記述される場合などに特に重要です。

本記事では、関数のプロトタイプを使って最大値を求める処理を実装し、関数宣言の役割と正しい使い方を解説いたします。


目次

サンプルコード:関数を先に宣言してから定義する例

#include <iostream>
using namespace std;

// 関数の宣言(プロトタイプ)
int getMaxValue(int a, int b);

int main()
{
    int input1, input2, result;

    cout << "1つ目の整数を入力してください。" << endl;
    cin >> input1;

    cout << "2つ目の整数を入力してください。" << endl;
    cin >> input2;

    result = getMaxValue(input1, input2);

    cout << "最大値は " << result << " です。" << endl;

    return 0;
}

// 関数の定義
int getMaxValue(int a, int b)
{
    if (a > b)
        return a;
    else
        return b;
}

コードの解説

関数の宣言(プロトタイプ)

int getMaxValue(int a, int b);
  • 戻り値の型(int)、関数名(getMaxValue)、引数の型を記述します。
  • 関数の本体はまだ書かれていませんが、この宣言によってmain関数内で関数を使うことが可能になります。

main関数の処理

  • 入力値を2つ受け取り、getMaxValue() を呼び出して最大値を求めています。

関数の定義

  • 実際の処理内容は、main()後ろで定義されています。
  • 宣言があるため、先に定義していなくても問題なく呼び出し可能です。

なぜ関数宣言が必要なのか?

C++はトップダウン型の言語であり、関数を使用する前にその存在を知っておく必要があります。関数がmain()の後ろに書かれている場合、先に宣言しておかなければコンパイルエラーになります。


関数宣言の構文

戻り値の型 関数名(引数の型, 引数の型, ...);

例:

double calculateArea(double width, double height);
void showMessage();

よくあるミスと注意点

ミス内容解説
セミコロンの忘れ関数宣言には必ず末尾に ; が必要です
引数の名前を省略名前を省略してもよいですが、型は必須です
戻り値の型の不一致宣言と定義の型が異なるとコンパイルエラーになります

まとめ

  • 関数を使う前に**プロトタイプ宣言(関数の宣言)**を書くことで、コードの順序に関係なく関数を呼び出せるようになります。
  • 複数ファイルにまたがるプログラムや、関数を整理して後ろに書きたいときに非常に役立ちます。
  • 関数宣言は、関数のインターフェースを明示するための重要な構文です。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次