2015-05-20 6 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++ не должен использовать 'struct' каждый раз, когда вы используете имя структуры – NathanOliver

+0

, вы определенно правы, мне просто нравится это делать. – Abel

+1

Итак, какие из этих изменений действительно отвечают на вопрос? Действительно ли необходимо добавить странный 'typedef' и переместить' test' в гораздо более широкую область? Или вам просто нужно заменить 'TBildpaar'' test'? –

Смежные вопросы