Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;参数化构造函数错误 我正在编写一个代码,用于使用一个参数化构造函数创建一个简单的C++类。我的代码如下: #include <iostream> using namespace std; class CC{ public: double h[]; double t[]; int tsize; CC(double rs[], double ts[], int l){ for (int k = 0;k < l;k++){ t[k] = ts[k]; h[k] = rs[k]; }; tsize = l; }; }; int main(int argc, char const *argv[]) { double r[] = {1,4,9}; double tm[] = {1,2,3}; int s = 3; CC CC1(r,tm,s); cout<<CC1.h[0]<<CC1.h[1]<<CC1.h[2]<<endl; cout<<CC1.t[0]<<CC1.t[1]<<CC1.t[2]<<endl; };_C++_Class_Constructor - Fatal编程技术网

C++;参数化构造函数错误 我正在编写一个代码,用于使用一个参数化构造函数创建一个简单的C++类。我的代码如下: #include <iostream> using namespace std; class CC{ public: double h[]; double t[]; int tsize; CC(double rs[], double ts[], int l){ for (int k = 0;k < l;k++){ t[k] = ts[k]; h[k] = rs[k]; }; tsize = l; }; }; int main(int argc, char const *argv[]) { double r[] = {1,4,9}; double tm[] = {1,2,3}; int s = 3; CC CC1(r,tm,s); cout<<CC1.h[0]<<CC1.h[1]<<CC1.h[2]<<endl; cout<<CC1.t[0]<<CC1.t[1]<<CC1.t[2]<<endl; };

C++;参数化构造函数错误 我正在编写一个代码,用于使用一个参数化构造函数创建一个简单的C++类。我的代码如下: #include <iostream> using namespace std; class CC{ public: double h[]; double t[]; int tsize; CC(double rs[], double ts[], int l){ for (int k = 0;k < l;k++){ t[k] = ts[k]; h[k] = rs[k]; }; tsize = l; }; }; int main(int argc, char const *argv[]) { double r[] = {1,4,9}; double tm[] = {1,2,3}; int s = 3; CC CC1(r,tm,s); cout<<CC1.h[0]<<CC1.h[1]<<CC1.h[2]<<endl; cout<<CC1.t[0]<<CC1.t[1]<<CC1.t[2]<<endl; };,c++,class,constructor,C++,Class,Constructor,而它本应该是 149 123 有谁能告诉我我到底做错了什么吗?在类定义中,双h[]是一个错误。必须将数组的边界指定为类定义的一部分,例如: double h[5]; 然后在构造函数中检查您是否没有收到l>5。(顺便说一句,不要使用l作为变量名,它看起来太像1)。您的编译器应该对此给出一个错误 如果在编译时不知道数组的大小,那么就不能使用C样式的数组。而是使用C++风格的数组;这些被称为向量: vector<double> h, t; 好处:如果传递的是实际数组(不是指针),则

而它本应该是

149
123

有谁能告诉我我到底做错了什么吗?

在类定义中,
双h[]是一个错误。必须将数组的边界指定为类定义的一部分,例如:

double h[5];
然后在构造函数中检查您是否没有收到
l>5
。(顺便说一句,不要使用
l
作为变量名,它看起来太像
1
)。您的编译器应该对此给出一个错误

如果在编译时不知道数组的大小,那么就不能使用C样式的数组。而是使用C++风格的数组;这些被称为向量:

vector<double> h, t;

好处:如果传递的是实际数组(不是指针),则可以从传入的数组推断长度:


您可以将此构造函数替换为另一个构造函数,也可以将其添加到另一个构造函数中。

在类定义中,
double h[]是一个错误。必须将数组的边界指定为类定义的一部分,例如:

double h[5];
然后在构造函数中检查您是否没有收到
l>5
。(顺便说一句,不要使用
l
作为变量名,它看起来太像
1
)。您的编译器应该对此给出一个错误

如果在编译时不知道数组的大小,那么就不能使用C样式的数组。而是使用C++风格的数组;这些被称为向量:

vector<double> h, t;

好处:如果传递的是实际数组(不是指针),则可以从传入的数组推断长度:


您可以将此构造函数替换为另一个构造函数,也可以将其添加到另一个构造函数中。

在类定义中,
double h[]是一个错误。必须将数组的边界指定为类定义的一部分,例如:

double h[5];
然后在构造函数中检查您是否没有收到
l>5
。(顺便说一句,不要使用
l
作为变量名,它看起来太像
1
)。您的编译器应该对此给出一个错误

如果在编译时不知道数组的大小,那么就不能使用C样式的数组。而是使用C++风格的数组;这些被称为向量:

vector<double> h, t;

好处:如果传递的是实际数组(不是指针),则可以从传入的数组推断长度:


您可以将此构造函数替换为另一个构造函数,也可以将其添加到另一个构造函数中。

在类定义中,
double h[]是一个错误。必须将数组的边界指定为类定义的一部分,例如:

double h[5];
然后在构造函数中检查您是否没有收到
l>5
。(顺便说一句,不要使用
l
作为变量名,它看起来太像
1
)。您的编译器应该对此给出一个错误

如果在编译时不知道数组的大小,那么就不能使用C样式的数组。而是使用C++风格的数组;这些被称为向量:

vector<double> h, t;

好处:如果传递的是实际数组(不是指针),则可以从传入的数组推断长度:


您可以使用此构造函数来代替另一个构造函数,也可以将其添加到另一个构造函数中。

为什么要使用
 >每个代码> } /CUT>?这会有什么区别吗?“参数化构造函数”是什么意思?我指的是不能编译为标准C++(至少C++ 11)的意思。如果您使用的是GCC,请添加
-std=c++11-pedantic
(将c++11替换为您的目标版本)。您需要为您的成员变量分配内存。为什么有
 >每个代码> } /CUT>?这会有什么区别吗?“参数化构造函数”是什么意思?我指的是不能编译为标准C++(至少C++ 11)的意思。如果您使用的是GCC,请添加
-std=c++11-pedantic
(将c++11替换为您的目标版本)。您需要为您的成员变量分配内存。为什么有
 >每个代码> } /CUT>?这会有什么区别吗?“参数化构造函数”是什么意思?我指的是不能编译为标准C++(至少C++ 11)的意思。如果您使用的是GCC,请添加
-std=c++11-pedantic
(将c++11替换为您的目标版本)。您需要为您的成员变量分配内存。为什么有
 >每个代码> } /CUT>?这会有什么区别吗?“参数化构造函数”是什么意思?我指的是不能编译为标准C++(至少C++ 11)的意思。如果您使用的是GCC,请添加
-std=c++11-pedantic
(将c++11替换为您的目标版本)。您需要为您的成员变量分配内存。