如何在c++类的构造函数中给出struct的向量作为参数?
how can i give a vector of struct as parameter in the constructor of a class c++?
my struct:
struct Nodo {
float x;
float y;
};
我的类:
class TabuSearch{
vector<Nodo> nod;
public:
TabuSearch(vector<Nodo> n):nod(n);
};
我的主要
int num_ciudades = 30;
vector<Nodo> nodo(num_ciudades);
TabuSearch t(nodo);
我得到这个错误在xcode:
架构x86_64的未定义符号:"TabuSearch::TabuSearch(std::__1::vector<Nodo, std::__1::allocator<Nodo> >)
",引用自:_main
in main没有找到架构x86_64的Ld:符号Clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
TabuSearch(vector<Nodo> n):nod(n);
不应该编译。您只允许在构造定义中放置一个元素初始化列表,而不仅仅是一个前向声明。
你几乎肯定想要:
TabuSearch(vector<Nodo> n):nod(n) {}
有一个主体(尽管是空的),因此是一个定义。
注意:既然你说clang
允许编译完成并继续链接,那么这个bug应该报告给clang团队。12.6.2p1非常清楚地表明,tor-initializer需要一个定义,而不是一个非定义的声明:
在类的构造函数定义中,直接基类和虚基类的子对象以及非静态数据成员的初始化式可以通过参数初始化式指定…
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 将向量传递给<struct> Lua 表
- 替代搜索函数和哈希向量<struct>C++
- 用struct初始化C 向量时的构造函数误差
- C :struct中的向量,push_back错误
- 为什么在对自定义对象的向量进行分类时,我们将在struct的定义中包括比较函数
- 从文件中读取到struct并添加到向量
- 如何打印random_shuffle向量<struct>的值
- C++向量<Struct>排序不起作用
- 在struct构建的向量中添加元素
- 在向量上找到第一对元素 (int) 并得到第二对元素 (struct)
- 用包含同一类的struct的向量初始化
- 初始化struct向量的向量的好方法(每个向量都有一个初始值)
- 如何在c++类的构造函数中给出struct的向量作为参数?