2015-01-24 4 views
0

문자열 스트림을 사용하여 문자열을 읽고 다양한 다른 데이터 형식으로 변환하려고합니다. 그러나 "Incomplete data type not allowed."오류가 계속 나타납니다.헤더 포함 후 문자열 스트림 컴파일 오류

이 오류에 대한 연구를 통해 정확하게 두 가지 수정 사항이 나타났습니다. 헤더를 포함하고 stringstream 대신 std :: stringstream을 사용해야합니다. 그 수정 프로그램도 나를 도왔습니다. 어떤 아이디어?

#include <sstream> 

bool Arena::addFighter(string info){ 
    std::stringstream ss; 
    ss.getline(info); 
    ... 
} 

편집 : getline()은 문제가되지 않습니다. ss 개체를 선언하려고하면 코드에서 오류가 발생합니다.

+0

전체 오류를 제공해주십시오. – Pradhan

+0

Intellisense : 불완전한 데이터 형식이 허용되지 않습니다. 플러스 sstream 파일 자체에서 오는 많은 오류가 있습니다. – Michael

답변

2

변경 getline()을 사용하는 방법이

getline(ss, info); 

확인 this 질문이

ss.getline(info); 

. 다음 번에 물어보기 전에 ref도 확인하십시오.

error: no matching function for call to ‘std::basic_stringstream<char>::getline(std::string&)’ 
    ss.getline(info); 

당신이 std 네임 스페이스를 사용하지 않는 경우, 다음 인수로 std::string을 통과하고 다만 string해야합니다 :) 내가 가진

오류이이었다.

+0

그건 내 코드에서 아무 것도 바뀌지 않았습니다. 오류가 ss 오브젝트의 선언에서 발생합니다. – Michael

+0

@ 마이클이 제 편집을 확인합니다. – gsamaras

+0

네임 스페이스 표준을 사용하고 있습니다. 내가 stringstream 앞에 두는 이유는 그것이 다른 사람들에게 똑같은 오류를주는 대답이기 때문입니다. 그것은 내 코드를 전혀 도움이되지 못했습니다. – Michael

관련 문제