类/成员函数错误
Class/member function error
我这里有这段代码:
class physics_vector
{
public:
double direction, magnitude;
int dir_mag(double dir, double mag) :direction(dir),
magnitude(dir) {return 0; };
};
int dir_mag(double dir, double mag)
{
cout << "Direction: " << dir << 'n';
cout << "Magnitude: " << mag << 'n';
return 0;
}
每当我尝试编译时,我都会收到错误,
13:39: error: only constructors take member initializers
请帮忙吗?
此函数:
int dir_mag(double dir, double mag) :direction(dir), magnitude(dir)
{return 0; };
正在使用初始值设定项列表 ( :direction(dir), magnitude(dir)
),这仅适用于构造函数。如果您计划将其作为构造函数,则类应如下所示:
class physics_vector
{
public:
double direction, magnitude;
physics_vector(double dir, double mag) :direction(dir),
magnitude(dir) {};
};
这将编译。请注意,不允许从构造函数返回值,它们也没有返回类型。
不能在函数中使用初始值设定项列表。它在C++中不是有效的操作。只能将初始值设定项列表与构造函数一起使用。编译器给出了非常明显的错误。
相关文章:
- 链接器错误:函数的多个定义
- 编译器错误:函数调用在常量表达式中必须有一个常量值
- 错误:函数声明符之后的预期函数体
- C 错误 - 函数不能超载
- 如何修复传递参数时调用错误函数的主函数?(C++)
- 错误:函数调用中有两个参数
- 错误:函数不是“类”的静态数据成员 - C++
- C ,G 编译错误函数
- CMake 解析错误函数缺少结尾")"。而是找到带有文本的未终止字符串")
- C++ 错误 函数 2 的多重定义
- 错误:函数调用中从int到int(*)[4]的转换无效
- C++14 自动扣除错误:函数返回一个数组
- 视觉C++错误:函数必须返回一个值
- 错误:函数声明中的两种或多种数据类型
- 错误:函数未在作用域中声明
- rtw_android.c错误:函数“strnicmp”的隐式声明[-Weror=隐式函数声明]
- 错误:函数中的return语句没有值,返回“void*”[-fpermission]
- 简单程序中的链接器错误:函数的多重定义
- 错误:函数参数太多
- 错误:函数__tmaincrtstartup中引用的未解析的外部符号_main