在类中使用向量
Using vectors within a class
本文关键字:向量 更新时间:2023-10-16
我正在尝试使用用户定义类型的类成员向量。
我的头文件如下:
class Sphere blah blah;
class Scene{
public:
std::vector<Sphere> Spheres; //Container of spheres.
LightSource Source;
};
当我尝试访问这个向量时,如下所示,我得到一个错误:
Scene AScene;
Sphere SampleSphere(0,-3,10,5);
(AScene.Spheres).push_back(SampleSphere);
我想做的是创建一个包含一些东西的场景,包括一个球体向量。我创建了一个场景(AScene),然后使用push_back向其中添加球体。但这不起作用。我有所有必要的预处理器指令,所以很遗憾它并没有那么简单。
错误为:
错误4错误LNK2019:未解析的外部符号"public:__thiscall LightSource::LightSource(void)"(??0LightSource@@QAE@XZ)在函数"public:__thiscall场景::场景(void)"中引用(??0Scene@@QAE@XZ)C:\Users\Stuart\Desktop\THE_PROJECT\THE_PROJECT\Source.obj THE_PROJECT
您没有链接库。
LightSoruce在哪里定义?如果是某个外部库,则需要将该库链接到最终的二进制文件中。
如果它是您自己的库之一,则需要将对象文件链接到最终的二进制文件中。此外,您可能忘记声明LightSoruce::LightSource()
的构造函数。
如果在对象级别上有丢失的符号,这是可以的,但在二进制或库中则不可以。
如果您使用gcc,您应该在命令行中使用正确的库名称来获得-llightsourcelib
或类似的东西。
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 计算排序向量的向量中唯一值的计数
- 矩阵向量乘法(cublasDgemv)返回零
- 一对向量构造函数:初始值设定项列表与显式构造
- 将结构向量排序为子组
- 在C++中调整向量中的索引
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么