0

用語がよくわからないので、タイトルの言い方がわかりません。誰かが正しい用語で編集したい場合は、それで問題ありません。

私が何かをコーディングするとき、私はいつも時系列でそれを行います。メインを一番下に置いてから、上に上げます。ただし、最近、見たことのないことを行うチュートリアルを読みました。

上部のインクルードの後に​​、プログラマーは次のように書いています。

void inccell(int pos, int width, unsigned char *board);
void deccell(int pos, int width, unsigned char *board);

これは見たことがありません。私はいつもそうしますvoid myfunction (args) { stuff }。このコンテキストで;. この後、プログラムのさらに下で、関数の内容を定義します。

void inccell(int pos, int width, unsigned char *board)
{
    ++board[(pos-width)-1];
    ++board[ pos-width   ];
    ++board[ pos-width +1];
    ++board[ pos-1       ];
    ++board[ pos+1       ];
    ++board[(pos+width)-1];
    ++board[ pos+width   ];
    ++board[ pos+width+1 ];

    return;
}

void deccell(int pos, int width, unsigned char *board)
{
    --board[(pos-width)-1];
    --board[ pos-width   ];
    --board[ pos-width +1];
    --board[ pos-1       ];
    --board[ pos+1       ];
    --board[(pos+width)-1];
    --board[ pos+width   ];
    --board[ pos+width+1 ];

    return;
}

;との関数の引数は{ }同じなので、私が知る限り、「オーバーロード」することはありません。オーバーロードが使用されているため、異なる引数のセットを使用して関数を呼び出すことができます。つまりmyfunc(myint, mystr, mybool)myfunc(myint, mystr)両方が有効になる可能性があります。

私はおそらくその声明で間違っています。

ただし、オーバーロードしていない場合、関数を一番上で宣言する理由、およびその目的は何かを誰かに説明してもらえますか?

ありがとう。

4

2 に答える 2