为何打印函数地址总是输出1

为什么打印函数地址总是输出1#include iostreamvoid s() {}void s2() {}int main() {std::cout &s

为什么打印函数地址总是输出1
#include <iostream>


void s() {
}

void s2() {
}

int main() {
std::cout << &s << std::endl;
std::cout << &s2 << std::endl;
}

在g++(mac上)输出两次1
[解决办法]
因为std::cout 没有 对函数指针进行重载吧,
所以被转换成 bool型了

你可以指定 相应的强转类型

std::cout <<(void*)&s << std::endl;