【发布时间】:2020-07-11 09:14:52
【问题描述】:
与 C++ 构造函数参数斗争
所以,我刚从 TS/JS/Py 出来,并试图理解 C++ 概念。但是我正在努力使用 FOR 类的构造函数的参数来声明参数的默认值。这是我要运行的代码:
double Phythagorean_Hypotenuse (int& a, int& b ) {
return sqrt((a * a) + (b * b));
};
class Triangle {
public:
int a;
int b;
double c;
Triangle(int a_param, int b_param, double c_param = Phythagorean_Hypotenuse(a_param, b_param)) {
a = a_param;
b = b_param;
c = c_param;
}
};
主函数内部
Triangle mytri_1(10, 20);
std::cout << mytri_1.a << std:endl;
但是当我尝试运行这段代码时,IDE 会抛出一些错误,例如
[Error] 'a_param' was not declared in this scope
或
[Error] call to 'Triangle::Triangle(int, int, double)' uses the default argument for parameter 3, which is not yet defined
那么,请问有谁能解决这个问题吗?
谢谢。
【问题讨论】:
-
也很抱歉,对于糟糕的混乱代码,我对此很陌生,但仍在学习。
标签: c++ class parameters constructor arguments