【发布时间】:2017-01-11 04:22:00
【问题描述】:
我使用 VS 2015 (Update 3) 编译以下代码:
#include <codecvt>
#include <cctype>
#include <functional>
int main()
{
std::function<int(int)> fn = std::isspace;
}
如果我用VC++编译就可以了。但是,如果我在Visual Studio中把编译器改成Visual Studio 2015 - Clang with Microsoft CodeGen (v140_clang_c2),clang报错:
main.cpp(7,26): 错误:没有从 '' 到 'std::function' 的可行转换
std::function fn = std::isspace;
更奇怪的是,如果我把第一行的cets如下,clang也可以。
//#include <codecvt> // now clang feels happy
#include <cctype>
#include <functional>
int main()
{
std::function<int(int)> fn = std::isspace;
}
根本原因是什么?
【问题讨论】:
标签: c++ c++11 visual-c++ compiler-errors clang