【发布时间】:2015-10-01 10:24:20
【问题描述】:
#include <iostream>
#include <functional>
typedef int(*SumFptr)(int,int);
int main()
{
SumFptr ptr = nullptr;
std::function<int(int)> func = std::bind(ptr, std::placeholders::_1, 42);
std::cout << (func ? "true" : "false") << std::endl;
return 0;
}
输出为真。
我的期望是错误的,例如std::function{nullptr}。这是一个错误还是正确的行为,我在哪里可以了解它?
【问题讨论】: