main()はいろいろな宣言がある。

/*!
 * @brief    main()
 */
void main( void )
{
    ...
}
/*!
 * @brief    main()
 *
 * @return   int     0:正常終了 1:異常終了
 */
int main( void )
{
    ...
    return 0;
}
/*!
 * @brief    main()
 *
 * @param    argc    引数の数(自身も数える)
 * @param    argv[]  引数の名前(argv[0]はプログラム名が入る)
 * @return   int     0:正常終了 1:異常終了
 */
int main( int argc, char* argv[] )
{
    ...
    return 0;
}

3つ目のは

int main( int argc, const char* argv[] )

にするべきなのかな・・・。



関数の宣言は、

戻り値の型 関数名( 引数データ型 引数名, ... )
と宣言する。

最後の"..."には意味がある。
これは、引数が不特定多数あるという意味。

一番身近なモノが、文字を出力するprintf()でしょう。

printf( "TIME = %02d : %02d , %02d", mintime, sectime, misctime );

このように表示する書式が不定なもので宣言します。


ちなみに、引数がない時に

void main( void )

としていましたが、

C++では引数がない場合、

void main()

このように()には何も記述しません。


これはなぜかというと、「そう決められているからです!」



ちなみに、main()の正しい宣言方法は2番目らしい。
必ず、戻り値があるというのは普通のようです。

でも特に戻しがない時は

void main()
{
...
}

でいいでしょう。