C++ 我使用istream获得未初始化的引用成员
我的教授给了我下面的.h文件,作为制作lexer的编程作业的一部分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;
#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) {
}