-1
我想知道为什么我收到以下错误:错误初始化神经网络的对象与构造
Main.cpp的
int main(int argc, char const *argv[]) {
vector<unsigned> topology = {3, 2, 1};
Net (topology);
/* more code */
}
Net.h
class Net {
public:
Net(const std::vector<unsigned> &topology);
}
错误:
Main.cpp:18:10: error: redefinition of 'topology' with a different type: 'Net' vs 'vector<unsigned int>'
Net (topology);
^
Main.cpp:17:22: note: previous definition is here
vector<unsigned> topology = {3, 2, 1};
^
1 error generated.
错误修复d。如果在主,而不是:
Net (topology);
我使用类似:
Net net(topology);
我知道,让更多的意义,以创建一个变量来使用,但如果由于某种原因,我想创建例如一个向量< Net>我想做一些像v.push_back(Net(拓扑))。有人会知道这个错误的原因?
非常感谢你,确实我已经尝试过创建vector并使用push_back(),并且在那种情况下工作正常,我只是困惑了为什么在声明中不工作,但现在我明白解析器因为它忽略了括号,所以将它与变量名混淆起来。谢谢!! –