2011-09-22 9 views
1

필자는 해당 매개 변수가 주어진 테이블 obtab1.txt에 있는지 검색 할 함수를 작성했습니다 .... optab 테이블에는 두 개의 열이 있으며이 중 두 열은 매개 변수가 첫 번째 열에 만있을 수 있습니다. aviasm.h 파일 것 말이다 내가 ... 내가 쓴 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; 
} 
} 

를이 코드 ....

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

    void crsymtab(); 
    bool in1(string); 

} 

을 쓴하지만 난 컴파일에 몇 가지 오류가 발생했습니다 .. ..

'bool aviasm::in1(std::string)' : overloaded member function not found in 'aviasm' 
'aviasm::in1' : function does not take 1 arguments 
'syntax error : identifier 'string' 

... 아무도 도와 줄 수 있습니까 ?? 당신이 적절한 선언하지 않고 문자열을 사용하려고하는 것처럼

+5

은 .H 파일에 포함되어 있습니까? –

+3

클래스 정의가 세미콜론으로 끝났습니까? – Mahesh

+0

또한, 읽기 전용'std :: string' 객체를'const std :: string &'으로 함수에 전달하는 것이 일반적으로 좋은 습관입니다. 'const'와'&'(참조로)에 유의하십시오. –

답변

1

당신이 파일의 상단이 필요합니다 나타납니다

#include <string> 
using std::string; 
+1

그는 클래스 정의를 세미콜론으로 끝내는 것이 도움이 될 수 있습니다. – Hugh

+0

@vaughn .... 네임 스페이스 std ....를 사용하지 않았습니다.하지만 문자열 함수를 사용하지 않아도 사용됩니다. – avinash

관련 문제