C++ 在C++;?
//我有一个for循环,它应该从两个浮点数组构造一个特定类“Line”的数组C++ 在C++;?,c++,C++,//我有一个for循环,它应该从两个浮点数组构造一个特定类“Line”的数组 for (int i=0; i<length; i++) Linearray[i](a[i], b[i]); //我得到的错误是没有定义呼叫接线员。 //解释起来有点复杂,所以我只能用这个构造函数来填充数组。 //还假设数组a和b充满了浮点数。这线性数组[i](a[i],b[i])尝试从该列表第i个元素的行类(您可能尚未定义该类,因此出现错误)调用调用运算符operator()()(另请参见)。您需要分配一个新
for (int i=0; i<length; i++) Linearray[i](a[i], b[i]);
//我得到的错误是没有定义呼叫接线员。//解释起来有点复杂,所以我只能用这个构造函数来填充数组。 //还假设数组a和b充满了浮点数。这
线性数组[i](a[i],b[i])
尝试从该列表第i个元素的行类(您可能尚未定义该类,因此出现错误)调用调用运算符operator()()
(另请参见)。您需要分配一个新实例来调用那里的构造函数:
Linearray[i] = Line(a[i], b[i]);
这Linearray[i](a[i],b[i])
尝试从该列表第i个元素的行类(您可能尚未定义该类,因此出现错误)调用调用运算符operator()()
(另请参见)。您需要分配一个新实例来调用那里的构造函数:
Linearray[i] = Line(a[i], b[i]);
虽然蒂莫已经回答了你的问题。这是实现同样目标的另一种方法
#include <iostream>
using namespace std;
class Line{
private:
int start, end;
public:
Line(){}
Line(float a, float b) {
start = a;
end = b;
}
};
int main() {
std::cout << "Hello World!\n";
int N = 5;
Line * arr = (Line*)malloc(sizeof(Line) * N);
for(auto i=0; i<N; i++){
arr[i] = Line(5,6);
}
}
#包括
使用名称空间std;
班级线{
私人:
int开始,结束;
公众:
行(){}
管路(浮子a、浮子b){
开始=a;
结束=b;
}
};
int main(){
虽然蒂莫已经回答了你的问题,但这里有另一种实现同样目标的方法
#include <iostream>
using namespace std;
class Line{
private:
int start, end;
public:
Line(){}
Line(float a, float b) {
start = a;
end = b;
}
};
int main() {
std::cout << "Hello World!\n";
int N = 5;
Line * arr = (Line*)malloc(sizeof(Line) * N);
for(auto i=0; i<N; i++){
arr[i] = Line(5,6);
}
}
#包括
使用名称空间std;
班级线{
私人:
int开始,结束;
公众:
行(){}
管路(浮子a、浮子b){
开始=a;
结束=b;
}
};
int main(){
std::coutstd::vector Linearray;对于(…)Linearray.emplace_back(a[i],b[i])Linearray
是如何定义的?请发布一个。正式地说,你根本不能调用构造函数。当要创建一个对象时,它是代表你调用的。请确切地定义什么是Linearray
,因为它在上下文中很重要,因为你的意思可能是赋值,而不是典型的构造。@molbdnilo fo你可以,<代码>行实例;实例=行(a,b);< /COD>将是直接调用,导致创建临时对象(所有的问题,为什么认为这是一个构造函数直接调用Bjarne先生)。<代码> STD::向量线性射线;(…)线性射线。Linearray
是如何定义的?请发布一个。正式地说,你根本不能调用构造函数。当要创建一个对象时,它是代表你调用的。请确切地定义什么是Linearray
,因为它在上下文中很重要,因为你的意思可能是赋值,而不是典型的构造。@molbdnilo fo你可以,<代码>行实例;实例=行(a,b);< /COD>将是直接调用,导致创建临时对象(所有问题,为什么认为这是一个构造函数直接调用Bjarne先生)。或者使用放置新来避免临时性或使用新的布局来避免临时性的。