例えば:
using namespace std;
#include <iostream>
void funcOne() {
}
void funcTwo( int x ) {
}
int main() {
void (*ptrOne)() = funcOne;
cout << ptrOne << endl; //prints 1
void (*ptrTwo)( int x ) = funcTwo;
cout << ptrTwo << endl; //prints 1
int (*ptrMain)() = main;
cout << ptrMain << endl; //prints 1
}
この背後にある理由を知っている人はいますか?最初は、関数を呼び出すことがないため関数がメモリに存在せず、スタックに追加されないためだと思いました。しかし、メイン関数へのポインターの値でさえ 1 を出力します。