这是我的代码的快照:
int m = 3;
int l = 4;
int k - 6;
std::vector<int> perceptrons;
for(int i = 0; i < k; i++){
Perceptron Ki = Perceptron(m, l);
perceptrons.push_back(Ki);
}
我收到以下错误:
Main.cpp:102:33: error: no matching function for call to ‘std::vector<int>::push_back(Perceptron&)’
perceptrons.push_back(Ki);
我有一个Perceptron类是参数m和l的对象,显然,我只是想创建一个感知器矢量。
有人能看出这是为什么吗?
由于
答案 0 :(得分:2)
因为您试图将Perceptron
放入ints
的向量中。
将您的代码更改为:
int m = 3;
int l = 4;
int k - 6;
std::vector<Perceptron> perceptrons; // This is the line that needs changing
for(int i = 0; i < k; i++){
Perceptron Ki = Perceptron(m, l);
perceptrons.push_back(Ki);
}
答案 1 :(得分:0)
也许你需要一种不同的矢量:
std::vector<Perceptron> perceptrons;
希望复制起来很便宜。