【发布时间】:2014-10-02 15:38:45
【问题描述】:
我有以下代码,我在标准模板库中使用 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);`
谁能告诉我为什么会出现这个编译器错误。
【问题讨论】:
-
这不是完整的代码,或者您发布了其他内容。
-
@ps06756: 如果有,请添加标题和取消命名空间声明
-
你启用
-std=c++11了吗? -
@谢谢,这就是问题所在。非常感谢
-
@ps06756
tuple与带有命名数据的class中的 6 个无名字段。class可能在设计和使用上比通用的无名tuple更清晰。
标签: c++ c++11 compiler-errors tuples