我有以下代码,我在标准模板库中使用c ++ 11元组。
#include <tuple>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>
#include <string>
using namespace std ;
vector<tuple<string,string,string,string,string,string> > lst ;
int main()
{
string t1,t2,t3,t4,t5,t6 ;
cin>>t1>>t2>>t3>>t4>>t5>>t6 ;
char c ;
tuple<string,string,string,string,string,string> tup = make_tuple(t1,t2,t3,t4,t5,t6);
while(!feof(stdin))
{
list.push_back(tup) ;
cin>>t1 ;
cin>>t2 ;
cin>>t3 ;
cin>>t4 ;
cin>>t5 ;
cin>>t6 ;
tup = make_tuple(t1,t2,t3,t4,t5,t6) ;
getchar_unlocked() ;
getchar_unlocked() ;
}
sort(list.begin(), list.end(), mySort) ;
print() ;
}
显示错误
Expected primary expression before '>' token. on the line `tuple<string,string,string,string,string,string> tup = make_tuple(t1,t2,t3,t4,t5,t6);`
有人能告诉我为什么会出现这个编译错误。
答案 0 :(得分:1)
当你包含所有标题并定义了所有函数时,很有可能你错过了启用C ++ 11标志
您需要使用-std=c++11
标志