提问人: 提问时间:7/14/2022 最后编辑:πάντα ῥεῖ 更新时间:7/14/2022 访问量:135
引用类成员变量在构造函数 [duplicate] 中给出错误“未初始化的引用”
Reference class member variables give an error "uninitialized reference" in constructor [duplicate]
问:
我有以下代码:
#include<iostream>
using namespace std;
class Vec{
private:
int& var;
public:
Vec(int& tmp){
var = tmp;
}
};
int main(){
int x = 10;
Vec v1(x);
}
但它给出了一个编译错误:error: uninitialized reference member in ‘int&’ [-fpermissive]
如何解决这个问题?
答:
5赞
MikeCAT
7/14/2022
#1
应使用初始值设定项列表。
#include<iostream>
using namespace std;
class Vec{
private:
int& var;
public:
Vec(int& tmp) : var(tmp) {}
};
int main(){
int x = 10;
Vec v1(x);
}
评论
0赞
7/14/2022
我不确定初始值设定项列表是什么意思!有人可以解释这一点或指出一些好的资源吗?提前致谢!
0赞
Ben Voigt
7/14/2022
@AJ:你知道初始化和赋值的区别吗?
评论