错误C2061:语法错误:标识符'istream'

时间:2014-10-23 00:00:42

标签: c++ identifier

当我构建我的程序并在头文件中留下我的getTokens函数时,我得到一个错误但是当我把它拿出来时它构建正常。我正在尝试在标题中声明一个名为getToken()的函数。

这是我得到的错误。

tokens.h(26):错误C2061:语法错误:标识符'istream'

#include "stdafx.h"
#include <iostream>
#include <istream>
#include <ostream>
#include <fstream>
#include <string>


class Tokens
{
public:
   enum TokenType {

   TEXT,
   LANGLE,
   RANGLE,
   SLASH,
   ID,
   EQ,
   QSTRING,
   OTHER,
   END,

   };

   TokenType getToken(istream*br, string&lexeme);

};

1 个答案:

答案 0 :(得分:2)

istream和string在std命名空间中。您需要使用std命名空间来确定类型的质量。

TokenType getToken(std::istream*br, std::string&lexeme);

在显示意图方面,使用br而不是指针也可能更好。

TokenType getToken(std::istream &br, std::string &lexeme);

作为旁注,你不需要所有这些包括。 &LT; istream的&GT;和&lt; ostream的&GT;作为&lt;的一部分包含在内。的iostream&GT;