1. ホーム
  2. c++

[解決済み] ERROR: '::main' must return 'int' [duplicate].

2022-02-14 14:35:26

質問

これが私のメイン関数です。

void main(int argc, char **argv)
{
    if (argc >= 4)
    {
        ProcessScheduler *processScheduler;
        std::cout <<
            "Running algorithm: " << argv[2] <<
            "\nWith a CSP of: " << argv[3] <<
            "\nFilename: " << argv[1] <<
            std::endl << std::endl;

        if (argc == 4)
        {
            processScheduler = new ProcessScheduler(
                argv[2],
                atoi(argv[3])
            );
        }
        else
        {
            processScheduler = new ProcessScheduler(
                argv[2],
                atoi(argv[3]),
                atoi(argv[4]),
                atoi(argv[5])
            );
        }
        processScheduler -> LoadFile(argv[1]);
        processScheduler -> RunProcesses();

        GanntChart ganntChart(*processScheduler);
        ganntChart.DisplayChart();
        ganntChart.DisplayTable();
        ganntChart.DisplaySummary();

        system("pause");

        delete processScheduler;
    }
    else
    {
        PrintUsage();
    }
}

コンパイルすると、こんなエラーが出ます。

Application.cpp:41:32: エラー: '::main' は 'int' を返さなければなりません。

void関数なのですが、intを返すにはどうしたらいいのでしょうか、また、どのように修正したらいいのでしょうか?

どのように解決するのですか?

このようにしてみてください。

int main(int argc, char **argv)
{
    // Code goes here

    return 0;
}

return 0; はオペレーティングシステムに0を返し、プログラムが正常に実行されたことを意味します。