当我尝试编译时,我收到以下错误:
error: expected unqualified-id before ‘using’
我知道,之前曾多次询问,但我找不到答案。通常他们会说其中一个头文件中缺少分号。但现在情况并非如此。当然我使用-std=c++0x
标志
#include <iostream>
#include <string>
#include <vector>
template <typename T>
using stringpair = std::pair<std::string, T>;
int main (int argc, char* argv[]) {
return 0;
}
答案 0 :(得分:3)
您的错误is caused是因为template aliases with using
是C ++ 11功能而您的编译器不支持它。您应该在编译时添加相应的标志。最有可能的是:
-std=c++11
(至少g++
和clang++
)。
否则你的编译器还不支持它们。 GCC supports them from 4.7。