例如:
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。