Создание векторного объекта с использованием std::vector<int> *xposes = &std::vector<int>();
не будет работать правильно, поскольку xposes
- это задание для временного объекта, который сразу же уничтожается.В некоторых простых случаях программа может по-прежнему работать правильно в зависимости от компилятора, но это неопределенное поведение, поскольку вызывается деструктор векторного объекта, а xposes
- это висячий указатель, указывающий на объект, которого больше не существует.
Вместо этого следует использовать std::vector<int> xposes;
.
TTF_Font
- непрозрачный тип, означающий, что это struct
, определение которого недоступно.Таким образом, программа, использующая SDL_ttf, может использовать только указатели TTF_Font*
.Сообщение об ошибке означает, что sizeof(TTF_Font)
не работает, и из-за этого невозможно создать std::vector<TTF_Font>
.Вместо этого будет работать вектор указателей std::vector<TTF_Font*>
.