У меня есть вектор указателей на класс-объект. Я объявляю вектор в главном ..:
std::vector<Class1*> vector1;
vector1.push_back(&object1);
vector1.push_back(&object2);
Произошла ошибка ниже. Это просто простейший вариант попытки доступа к данным, содержащимся в классе, указанном вектором.
Ex:
main.cpp:
std::cout << vector1[0]->rect->w << std::endl;
Class1.h
SDL_Rect rect{100, 100, 50, 50};
Выше приведено красное подчеркивание слова «Вектор1» с ошибкой «Выражение должно иметь допустимый тип указателя».
EDIT:
Забыл упомянуть, что я пытаюсь добраться до SDL_Rect , содержащегося в объектах класса, на которые указывает вектор ... Не уверен, как / если это что-то изменит.
Я предоставлю более полный код, когда уйду с работы.
Код, который я предоставил, работает, если я просто указываю переменную нормального типа, такую как int (где 'age' ниже - int):
std::cout << vector1[0]->age << std::endl;
Но так как я указываю SDL_Rect в примере из Main.cpp, я получаю ошибку, о которой упоминал. Кто-нибудь знает, в чем особенность?