类对象指针的向量:如何在指针地址获得价值?C 和SDL_RECT
Vector of Class-Object pointers: How to get value at pointer address? C++ and SDL_Rect
我有一个类对象指针的向量。我在Main中声明了矢量。
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};
上面的结果带有" vector1"一词的红色下划线,其中"表达式必须具有有效的指针类型"。
编辑:
忘了提到我正在尝试到达 sdl_rect 包含在矢量指向的类 - 对象中的 ...不确定如何/是否会更改任何内容。下班时我会提供更多完整的代码。
如果我简单地指定一个常规类型的变量,例如int(下面的"年龄"是int):
std::cout << vector1[0]->age << std::endl;
但是,由于我在示例中指定了一个sdl_rect。有人知道什么是特殊性?
for(int i = 0; i < vector1.size(); i++)
{
vector1[i]->width += offset;
}
与往常一样,用->
取消指针。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 为什么使用 "this" 指针调用派生成员函数?
- 函数向量_指针有不同的原型,我可以构建一个吗
- 使用指针从C++中的数组中获取最大值
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 助记符和指向成员语法的指针
- 嵌入方指针压缩已禁用
- 数组的指针从不分段故障
- 为什么要在初始化SDL之前在SDL中声明指针
- SDL 包装标头中的智能指针
- 从SDL库的函数返回的指针
- 允许智能指针按特定顺序删除 SDL 组件
- SDL 类型的智能指针包装器是否安全
- 创建指向成员函数的非常量指针,以便进行 SDL 事件筛选
- SDL 指针和引用
- SDL 2通过SpriteManager在屏幕上显示图像,获得指针中断
- 指向SDL音频回调成员函数的指针
- 带有SDL的智能指针
- C++SDL代码::块:在头文件中声明指向全局可验证性的指针,同时避免多个包含问题