是否可以静态输入检查std::bind
的参数?我很想使用它,但它让我几乎可以带走任何东西;例如,std::bind(1,2);
被接受。或者,我可以使用std::result_of
滚动我自己的解决方案。
答案 0 :(得分:2)
我还不确定是否可以bind
可靠地拒绝这些结构。但如果可以的话,这样做会是一种延伸。
标准中的Requires
子句告诉客户他必须做些什么来避免未定义的行为。它并没有告诉供应商他必须做些什么来进行整合。所以std::bind(1,2)
是未定义的行为。它可以做任何事情。导致编译时错误将是一个很好的未定义行为,但不是必需的。