为什么会出现这个错误?

时间:2014-10-02 15:38:45

标签: c++ c++11 compiler-errors tuples

我有以下代码,我在标准模板库中使用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);` 

有人能告诉我为什么会出现这个编译错误。

1 个答案:

答案 0 :(得分:1)

当你包含所有标题并定义了所有函数时,很有可能你错过了启用C ++ 11标志

您需要使用-std=c++11标志

进行编译