初始化引用时出错

Getting error when initializing a reference

本文关键字:出错 引用 初始化      更新时间:2023-10-16

我正试图声明对int列表的引用。当我编译时,我得到了list<int>& current;expected '(' for function-style cast or type construction错误,在这里我声明了一个引用。这里的问题是什么?我到处看了看,似乎引用就是这样初始化的。我一定错过了什么,因为它无法编译。

#include <iostream>
#include <vector>
#include <list>
using namespace std;
int main() {
    list<int> list;
    list<int>& current;
    current = list; // or just list<int>& current = list; both error
}

这不是初始化引用的方式。用途:

list<int>& current = <variable>; // list;

list是一个糟糕的变量名称选择。

  1. 使用

    list<int> list;
    

    将导致编译器错误,因为您有:

    using namespace std;
    
  2. 即使您没有使用,list也将是一个糟糕的变量名称

    using namespace std;
    

我建议删除using namespace std;行,并为变量使用不同的名称。

std::list<int> my_list;
std::list<int>& current = my_list;