C++ 我使用istream获得未初始化的引用成员

C++ 我使用istream获得未初始化的引用成员,c++,C++,我的教授给了我下面的.h文件,作为制作lexer的编程作业的一部分 #ifndef LEXER_H #define LEXER_H #include "token.h" #include <istream> class Lexer { public: Lexer(std::istream& input_stream); Token next_token(); private: int current_line;

我的教授给了我下面的.h文件,作为制作lexer的编程作业的一部分

#ifndef LEXER_H
#define LEXER_H

#include "token.h"
#include <istream>

class Lexer {
   public:
      Lexer(std::istream& input_stream);
      Token next_token();
   private:
      int current_line;
      int current_column;
      std::istream& input_stream;
};

#endif
当我尝试编译时,会收到错误消息:

lexer.cpp: In constructor ‘Lexer::Lexer(std::istream&)’:
lexer.cpp:4: error: uninitialized reference member ‘Lexer::input_stream’

编译器是显式的:必须在成员初始化列表中初始化引用成员:

Lexer::Lexer(std::istream& inputstream) : input_stream(inputstream) {

}
Lexer::Lexer(std::istream& inputstream) : input_stream(inputstream) {

}