2013-06-02 5 views
0

저는 C++의 기초를 배우는 중이며 cout에 몇 가지 문제가 있습니다. hello world, 간단한 덧셈기 함수, 그리고 문자열의 순서를 바꾸는 함수를 출력하기위한 몇 가지 간단한 테스트를 작성했습니다. 내 모든 오류가 내 문자열 함수 제외하고 잘 실행됩니다. 설명, 감사합니다.C++ 피연산자 오류, 유형 오류 ostream, 문자열

오류 : ostream에 < < 표준 : : 문자열 당신은 잊었

#include <iostream> 

using namespace std; 

int adder(int a, int b) 
{ 
    return a + b; 
} 

int addOneToInput(int a) 
{ 
return a + 1; 
} 

string flipStringOrder(string s) 
{ 
string temp = ""; 
for (int i = 0; i < s.length; i ++) 
{ 
    char charTemp = (s.at(s.length() - i -1)); 
    temp += charTemp; 
} 
return temp; 
} 


void main(){ 
cout << "Hello World" << endl; 
int x = 5; 
int y = 3; 
cout << adder(x, y) << endl; 
cout << flipStringOrder("moon") << endl; 
cin.get(); 
} 
+2

당신은하지 않는 것이 ... –

+0

'무효 main' 법적 서명하지 #include하는 것으로. – chris

답변

3

: 당신에 의존해서는 안

#include <string> 

없는 연산자 "< <는"피연산자 유형이 표준입니다 이러한 피연산자 일치 관련 표준 헤더는 다른 헤더를 포함하여 간접적으로 포함되어야합니다.

또한, 예를 들어, 법적 하나에 main()의 서명을 변경

int main() 
{ 
    // ... 
} 
+0

오, 그거 고마워. 메인의 서명을 합법적 인 것으로 변경한다는 것은 무엇을 의미합니까? 어쨌든 아무것도 돌려주지 않으면 나는 단지 무효를 사용할 수 없다. 나는 자바의 public static void main에 약간 익숙하다. int를 사용할 때 장점이있다? –

+0

또한 int 인 경우 main이 평가되는 이유가 있습니까? 프로그램을 시작하기 위해 main을 호출해야합니까? –

+0

@ user2426318 :'void main()'은 합법적 인 서명이 아니고'int main()'은이다. 'main()'에'return' 문을 쓰는 것은 허용되지 않습니다. 그것은'return 0' (성공을 나타냄)과 같습니다. '0'과 다른 값은 실패를 나타냅니다. –

관련 문제