2015-05-20 94 views
-5

我想创建一个结构在C++中的列表,但出现错误的列表:创建C++中的结构

在声明无效型前»;«令牌

小例子:

#include <list> 
#include <string> 
#include <iostream> 

using namespace std; 

int main(int argc, char** argv) 
{ 
    struct test { 
     string a1; 
     string a2; 
     int b1; 
     int b2; 
    }; 
    list<TBildpaar> Files; 
} 
+10

什么是'TBildpaar'?你的意思是'list '? – 0x499602D2

+0

所以你不小心把't''标识符完成了'TBildpaar'。你看到错误,按Ctrl + A和Ctrl + C不看代码并在这里发布... – LogicStuff

回答

1
#include <list> 
#include <string> 
#include <iostream> 

using namespace std; 

typedef struct { 
    string a1; 
    string a2; 
    int b1; 
    int b2; 
}test; 

int main(int argc, char** argv) 
{ 

    list<test> Files; 
} 

你去那里。

+3

因为这是C++,所以你不必做'typedef struct {} foo;'。 'struct foo {};''是C++的方法,因为C++在每次使用结构体名 – NathanOliver

+0

时都不必使用'struct',所以你肯定是对的,我只是喜欢这样做。 – Abel

+1

那么这些变化中的哪一个实际上回答了这个问题?是否真的有必要添加一个奇怪的'typedef'并将'test'移动到更广的范围?或者你只需​​要用'test'替换'TBildpaar'?无论你喜欢什么, –