C++11 C++;11代码,GCC[正常],VS[故障],ICC[??]

C++11 C++;11代码,GCC[正常],VS[故障],ICC[??],c++11,visual-studio-2013,gcc4.8,icc,intel-parallel-studio,C++11,Visual Studio 2013,Gcc4.8,Icc,Intel Parallel Studio,我正在尝试构建一个使用C++11特性的应用程序。使用GCC-4.8.3并指定-std=c++11,代码没有错误 众所周知,Visual Studio 2013并不完全支持C++11。相反,我安装了支持C++11的英特尔并行工作室XE 2015 现在,在VisualStudio中,我指定“英特尔编译器”来绕过VS编译器。请参见下图 我还启用了C++-11支持,如下所示 但是,我收到一些错误,堆栈跟踪显示错误来自microsoft visual studio头文件 看来VS编译器还没有完全被英特

我正在尝试构建一个使用C++11特性的应用程序。使用GCC-4.8.3并指定-std=c++11,代码没有错误

众所周知,Visual Studio 2013并不完全支持C++11。相反,我安装了支持C++11的英特尔并行工作室XE 2015

现在,在VisualStudio中,我指定“英特尔编译器”来绕过VS编译器。请参见下图

我还启用了C++-11支持,如下所示

但是,我收到一些错误,堆栈跟踪显示错误来自microsoft visual studio头文件

看来VS编译器还没有完全被英特尔编译器所取代

完整输出可在以下位置获得:

我知道完整的输出很长,所以下面是产生其中一个错误的代码跟踪。我认为两个错误是相似的

(一)

有没有办法解决这个问题?为什么它不遵循英特尔编译器头文件,而错误地遵循我知道它不支持C++11的VS头文件

~~~~~~~~~~~~~~~~~~~~ 更新 ~~~~~~~~~~~~~~~~~~~~


测试Visual studio 2015 RC版时,代码成功生成,无需使用英特尔编译器。

我添加了指向CPP项目的链接CC没有自己的标准库。它在Windows上使用MSVC。那么有什么区别呢?为什么他们在手册中说ICC完全支持c++11?编译器支持所有c++11语言功能。库功能的支持取决于您使用的标准库。您是否尝试过最新的Visual Studio 2015版本?
Sequitur<char> s;  char temp_char;
s.push_back(temp_char);
template<typename Type>
void Sequitur<Type>::push_back(Type s){
    //add new symbol:
    Symbol * val = sequence_end->insertBefore(new Value(s));
    if(++length > 1) {
        auto one_from_end = val->prev();
        linkMade(one_from_end);
    }
}
template<typename Type>
void Sequitur<Type>::linkMade(Symbol * first) {
    Symbol * match_location = findAndAddDigram(first);
}
template<typename Type>
Symbol * Sequitur<Type>::findAndAddDigram(Symbol * first) {
    auto out_pair = digram_index.emplace(makeDigramPair(first),first);
}
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\utility(155): error : no instance of constructor "jw::SymbolWrapper::SymbolWrapper" matches the argument list
              argument types are: (jw::SymbolWrapper)
                : first(_STD forward<_Other1>(_Right.first)),
                       ^
            detected during:
              instantiation of "std::pair<_Ty1, _Ty2>::pair(std::pair<_Other1, _Other2> &&) [with _Ty1=jw::SymbolWrapper, _Ty2=jw::SymbolWrapper, _Other1=jw::SymbolWrapper, _Other2=jw::SymbolWrapper, <unnamed>=void]" at line 142