为什么引用数组是非法的?
以下代码无法编译。
int a = 1, b = 2, c = 3;int& arr[] = {a,b,c,8};C ++标准对此有何看法?
我知道我可以声明一个包含引用的类,然后创建该类的数组,如下所示。但我真的想知道为什么上面的代码不能编译。
struct cintref{
cintref(const int & ref) : ref(ref) {}
operator const int &() { return ref; }private:
const int & ref;
void operator=(const cintref &);};int main() {
int a=1,b=2,c=3;
//typedef const int & cintref;
cintref arr[] = {a,b,c,8};}可以使用struct cintref而不是const int &模拟引用数组。
繁星淼淼
温温酱
GCT1015
相关分类