我写了一个函数来搜索其参数是否在给定的表中obtab1.txt .... optab表有两列,其中参数只能在aviasm.h文件的第一列中...写了这段代码...。

class aviasm
{
public:
   aviasm(char *,char *);
   ~aviasm();

   void crsymtab();
   bool in1(string );

}

我在aviasm.cpp文件中写道...
bool aviasm::in1(string s)
{
ifstream in("optab1.txt",ios::in);//opening the optab1.txt
char c;
string x,y;
while((c=in.get())!=EOF)
{
    in.putback(c);//putting back the charcter into stream
    in>>x;//first field
    in>>y;
    if(x==s)
        return true;
    else
        return false;
}
}

但是我在编译时遇到了几个错误。
'bool aviasm::in1(std::string)' : overloaded member function not found in 'aviasm'
'aviasm::in1' : function does not take 1 arguments
'syntax error : identifier 'string'

...有人可以帮忙吗?

最佳答案

似乎您在尝试使用没有适当声明的字符串,您将需要在文件顶部使用它:

#include <string>
using std::string;

关于c++ - 字符串作为函数中的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7509573/

10-11 16:09