5

なぜこれがコンパイルされるのですか?

int main() {
    void f();
}

とはf? それは関数または変数ですか、どうすれば使用できますか?

4

6 に答える 6

1

関数宣言は許可されますが、関数定義は許可されません。

ただし、次のコードは明確に定義されています。

#include <iostream>

int main()
{
    // void function() {}; //  a function-definition is not allowed
    struct Function {
        static void apply() {
            std::cout << "Hello World" << std::endl;
        }
    };

    Function::apply();
} 
于 2013-09-27T18:55:56.863 に答える
0

f は、戻り値の型が void である関数の識別子 (名前) です。ここでは、関数はそれを使用するためにメイン関数で呼び出されるだけです。ここで宣言して定義する必要があります。構文は次のとおりです。

void f();       //before main function declaration 
int main()      //main 
{}
void f();       //define here the function f.

そして最後になりましたが、最初に宣言して定義した場合にのみ、この関数を使用できます(関数を呼び出して便利な作業を行います)。

于 2013-09-27T18:53:21.140 に答える