C++에서 어휘 분석기를 작성 중이므로 서브 클래스에 to_string()
메서드를 포함해야합니다. 이 방법은 어휘 분석기에서 사용하지 않지만 디버깅 목적으로 포함시켜야한다고 말합니다. 필자가 작성한 to_string
메쏘드는 오류를 계속 발생시키고 왜 확신을 못합니다. 여기에 내가 무엇을 가지고 : 그것은 작동해야처럼이 보인다int를 to_string 메서드의 문자열로 변환 C++
string *AddopToken::to_string()
{
token_type_type tokenType = get_token_type();
addop_attr_type addopAttr = get_attribute();
return "[TOKEN TYPE: " + tokenType + ", ATTRIBUTE TYPE: " + addopAttr + "]";
}
하지만, 어떤 이유로 그렇지 않습니다.
다음은 AddopToken 헤더에 addop_attr_type
의 typedef입니다.
typedef enum addop_attr { ADDOP_ADD = 400,
ADDOP_SUB = 401,
ADDOP_OR = 402,
ADDOP_NO_ATTR = 499 } addop_attr_type;
는 addopAttr
의 유형 addop_attr_type
입니다 그래서 비록 정말 모든이의 int 상수이다. 나는 C++이 int를 문자열로 변환 할 수 있다고 생각했습니다. 내 to_string()
가 올바르게 작동 할 수 있도록 이러한 변수를 문자열로 변환하는 방법이 있습니까?
'std :: to_string (addopAttr) .c_str()'을 사용하십시오. – 0x499602D2
아니요, C++은 당신을 위해 절대 아무것도하지 않습니다. 너는 모든 것을 스스로해야만한다. 그것이 C++을 정말 대단한 것으로 만듭니다. 'std :: tostring()'을 사용하십시오. –
[C++에서 int를 int로 변환하는 가장 쉬운 방법] 가능한 복제본 (http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c) – MrEricSir