C++ 为什么';t铿锵++;编译以下代码?

C++ 为什么';t铿锵++;编译以下代码?,c++,linux,c++11,C++,Linux,C++11,我有以下代码: #include <type_traits> int main() { } 有没有办法解决这个问题?(-std=c++11不工作,无法识别。)Clang 2.8不支持c++11功能,您需要升级编译器才能使用它们。Clang 2.8不支持c++11功能,您需要升级编译器才能使用它们。Clang 2.8不支持c++11功能,您需要升级编译器才能使用它们。Clang 2.8不支持C++11功能,您需要升级编译器才能使用它们。我建议升级Clang。@chris不是我的服务

我有以下代码:

#include <type_traits>

int main()
{
}



有没有办法解决这个问题?(-std=c++11不工作,无法识别。)

Clang 2.8不支持c++11功能,您需要升级编译器才能使用它们。

Clang 2.8不支持c++11功能,您需要升级编译器才能使用它们。

Clang 2.8不支持c++11功能,您需要升级编译器才能使用它们。

Clang 2.8不支持C++11功能,您需要升级编译器才能使用它们。

我建议升级Clang。@chris不是我的服务器。。。有没有办法解决当前版本的问题?虽然我会要求升级,但可能需要一些时间。您必须在main@Bruno按照C++的ISO标准,你不知道。@ KLoad你的CLAN版本太老了。请参阅我之前关于TR1的评论,这可能是您除了升级编译器之外的唯一选择。我建议升级Clang。@chris不是我的服务器。。。有没有办法解决当前版本的问题?虽然我会要求升级,但可能需要一些时间。您必须在main@Bruno按照C++的ISO标准,你不知道。@ KLoad你的CLAN版本太老了。请参阅我之前关于TR1的评论,这可能是您除了升级编译器之外的唯一选择。我建议升级Clang。@chris不是我的服务器。。。有没有办法解决当前版本的问题?虽然我会要求升级,但可能需要一些时间。您必须在main@Bruno按照C++的ISO标准,你不知道。@ KLoad你的CLAN版本太老了。请参阅我之前关于TR1的评论,这可能是您除了升级编译器之外的唯一选择。我建议升级Clang。@chris不是我的服务器。。。有没有办法解决当前版本的问题?虽然我会要求升级,但可能需要一些时间。您必须在main@Bruno按照C++的ISO标准,你不知道。@ KLoad你的CLAN版本太老了。请参阅我之前关于TR1的评论,这可能是除了升级编译器之外的唯一选项。为什么-std=c++0x没有出现错误?如果我尝试其他方法,我确实会得到一个错误(不支持的语言或类似的东西)。@kloop不使用
type\u traits
。手工重写所需的函数。它们没有那么复杂。这是使用过时的编译器所能做的唯一一件事。@kloop我想它添加了兼容性标志,但正如您所见,至少在Clang2.9之前,clang基本上不支持C++11。只要您的编译器没有
-c++11
标志,您就可能会遇到重大问题。@Malloc谢谢。我想根据大家的建议,最好的办法是升级clang.@polkovnikov.ph这个问题真的提出了#include,其中包括type#u特征。那只是一个MWE。那么为什么我没有得到-std=c++0x的错误呢?如果我尝试其他方法,我确实会得到一个错误(不支持的语言或类似的东西)。@kloop不使用
type\u traits
。手工重写所需的函数。它们没有那么复杂。这是使用过时的编译器所能做的唯一一件事。@kloop我想它添加了兼容性标志,但正如您所见,至少在Clang2.9之前,clang基本上不支持C++11。只要您的编译器没有
-c++11
标志,您就可能会遇到重大问题。@Malloc谢谢。我想根据大家的建议,最好的办法是升级clang.@polkovnikov.ph这个问题真的提出了#include,其中包括type#u特征。那只是一个MWE。那么为什么我没有得到-std=c++0x的错误呢?如果我尝试其他方法,我确实会得到一个错误(不支持的语言或类似的东西)。@kloop不使用
type\u traits
。手工重写所需的函数。它们没有那么复杂。这是使用过时的编译器所能做的唯一一件事。@kloop我想它添加了兼容性标志,但正如您所见,至少在Clang2.9之前,clang基本上不支持C++11。只要您的编译器没有
-c++11
标志,您就可能会遇到重大问题。@Malloc谢谢。我想根据大家的建议,最好的办法是升级clang.@polkovnikov.ph这个问题真的提出了#include,其中包括type#u特征。那只是一个MWE。那么为什么我没有得到-std=c++0x的错误呢?如果我尝试其他方法,我确实会得到一个错误(不支持的语言或类似的东西)。@kloop不使用
type\u traits
。手工重写所需的函数。它们没有那么复杂。这是使用过时的编译器所能做的唯一一件事。@kloop我想它添加了兼容性标志,但正如您所见,至少在Clang2.9之前,clang基本上不支持C++11。只要您的编译器没有
-c++11
标志,您就可能会遇到重大问题。@Malloc谢谢。我想根据大家的建议,最好的办法是升级clang.@polkovnikov.ph这个问题真的提出了#include,其中包括type#u特征。那只是一个MWE。
In file included from file.cc:1:
In file included from /usr/include/c++/4.4.4/type_traits:50:
/usr/include/c++/4.4.4/tr1_impl/type_traits:230:41: error: expected ')'
    struct is_function<_Res(_ArgTypes......)>
                                        ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:230:28: note: to match this '('
    struct is_function<_Res(_ArgTypes......)>
                           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:230:12: error: redefinition of 'is_function<type-parameter-0-0 (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes......)>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:233:29: error: type qualifier is not allowed on this function
    struct is_function<_Res(_ArgTypes...) const>
....
clang version 2.8 (branches/release_28)
Target: x86_64-redhat-linux-gnu
Thread model: posix