LINUX.ORG.RU

Как расковырять вектор векторов?


0

2

Есть у меня такая конструкция

struct VarData{
	int digit;			
	bool logic;
	string str;
};

struct VarDimension{
	int i;
	int j;					
	vector<vector <VarData> > VarDataVector;
};
map <string,VarDimension> TS;
map <string,VarDimension>::iterator it;
как правильно подобраться к полю структуры хранящейся во всем этом? Я пытаюсь что-то вроде
 it->second.VarDataVector[i][j].logic
Но компилятор меня не понимает, как справиться?

★★★

А что пишет компилятор?

yoghurt ★★★★★ ()
(it->second.VarDataVector[i])[j].logic;
it->second.VarDataVector[i].operator[](j).logic;
DELIRIUM ★★★★★ ()
Ответ на: комментарий от LIKAN

ХЗ. MSVC 2010 на рабочем компе понимает :) Чем компилируешь? Номер версии? И как выглядит сабжевый файл целиком?

slackwarrior ★★★★★ ()
Ответ на: комментарий от stack_protector

Среда - eclipse , при создании проекта выбирался Linux GCC , но я так понимаю что все же g++ Эмм, что именно вас интересует, 500 строк кода сюда кидать не охота....

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN
 
#include <map>
#include <vector>
#include <string>

using namespace  std;

struct VarData{
	int digit;			
	bool logic;
	string str;
};

struct VarDimension{
	int i;
	int j;					
	vector<vector <VarData> > VarDataVector;
};
map <string,VarDimension> TS;
map <string,VarDimension>::iterator it;

int main(int argc, char** argv)
{
    int i,j;
    bool logic_wtf = it->second.VarDataVector[i][j].logic;

    return 0;
}

Я в таком виде собирал msvc и g++. Или чего-то не хватает, или проблема не здесь.

slackwarrior ★★★★★ ()

А ты уверен, что проект не собирает именно из-за этого?

Похоже, что это ворнинг самого эклипса, к компилированию не относящийся.

schizoid ★★★ ()
Ответ на: комментарий от LIKAN

Field 'logic' could not be resolved

Это, наверно, сообщение от Codan в CDT, т.е. парсер в CDT облажался и не смог распознать этот символ. Рекомендуется отключить этот глючный Codan.

kamre ★★★ ()
Ответ на: комментарий от kamre

Гг, помнится в KDevelop один и тот же хедер с шаблонами валил среду в сегфолт на открывающих скобочках. Вполне возможны глюки всяких подсветок/автодополнений, да.

slackwarrior ★★★★★ ()
Ответ на: комментарий от yoghurt

да компилятору я как понял-пофиг, почему парсер, встроенный в среду ругается?Вот ещё например [code] if(OperationNode *o = dynamic_cast<OperationNode *>(p)){ switch(o->operation){ . . . [/code] ругань на вторую строку, мол Symbol 'o' could not be resolved

LIKAN ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.