2016-10-07 3 views
0

저는 C++의 초보자입니다. 나는 C++에 관한 책을 읽고있다. 그런 다음오류 : 'int'앞에 예상되는 일차 표현

/*modified fig1-1.cpp*/ 
#include <iostream> 
using namespace std; 
int main() 
{ 
    cout << "\n Enter an integer"; 
    cin >> (int i); 
    cout << "\n Enter a character"; 
    cin >> (char c); 
    return 0; 
} 

나는 다음과 같은 오류 메시지가 얻을 :

fig1-2.cpp: In function 'int main()': 
fig1-2.cpp:7:10: error: expected primary-expression before 'int' 
    cin >> (int i); 
     ^
fig1-2.cpp:7:10: error: expected ')' before 'int' 
fig1-2.cpp:9:10: error: expected primary-expression before 'char' 
    cin >> (char c); 
     ^
fig1-2.cpp:9:10: error: expected ')' before 'char' 

사람이 나에게 무엇을 앞으로 일어날 알려 주시기 바랍니다 수 나는 책의 예입니다 다음 프로그램을 컴파일 g ++를 사용합니까? 대단히 감사드립니다.

+2

아니 ...'i' 한 줄의 _first_에, 다음을 수행 int로'CIN 선언 "나는 두 번째 줄에있다. –

+0

책에서 정확하게 * 정확하게 * 복사 되었습니까? 그렇다면 다른 책이 필요합니다. – AnT

+0

@AnT이 내용은 책에서 복사 한 것으로 일부 수정되었습니다. orignial 코드는 다음과 같습니다 :'/ * modified fig1-1.cpp */ #include void main() { cout << "n \ n 정수를 입력하십시오. cin >> (int i); cout << ""\ n 문자를 입력하십시오 "; cin >> (char c); }'코드를 수정 한 이유는 컴파일하는 동안 오류를 피하기 위해서입니다. 좋아, 나는 다른 책으로 바꿀거야. –

답변

2

int i은 선언 구문입니다. cin >>을 따라야하는 식 내부에 표시되지 않을 수 있습니다.

먼저 당신의 변수를 선언 한 다음 사용

int i; 
cin >> i; 

같은 char c을 위해 :

chat c; 
cin >> c; 

을 그리고 나는 많이이 ++ 책 교육 C의 예입니다 의심. 그것은 뻔뻔스럽게 잘못된 구문입니다. 실제로 책에 실례로 작동하는 예 (즉, 오류를 설명하지 않음) 인 경우 다른 책을 가져야합니다.

+0

답변 해 주셔서 감사합니다. 이것은 C++을 가르치는 책의 한 예이며 약간 수정되었습니다. orignial 코드는 다음과 같습니다 :'/ * modified fig1-1.cpp */#include void main() {cout << "\ n 정수를 입력하십시오."; cin >> (int i); cout << ""\ n 문자를 입력하십시오 "; cin >> (char c); }'코드를 수정 한 이유는 컴파일하는 동안 오류를 피하기 위해서입니다. 좋아, 나는 다른 책을 얻을 것이다. –

+0

@ Wei-ChengLiu Yeah'#include '도 맹목적으로 잘못되었으므로 초보자도 처음 프로그램을 작성한 후에 알게 될 것입니다. 'void main()'은 일부 컴파일러에서 허용되지만 잘못되었습니다. 'cout'과'cin '이전에'std ::'가 빠져 있다는 것도 명백합니다. 'namespace std 사용하기 '로 해결했지만 종종 문제가 더 심해집니다. 이 책의 저자는 코드를 컴파일해서는 안됩니다 ... – user4407569

+0

예, 그렇게 생각합니다. NG 책을 구입 한 것 같습니다 ... –

0
당신은 내가 선언해야합니다 또는 첫째 내가 이렇게 한 C의 일을 당신이 사용할 수 없습니다

int main() 
{ 
int i; 
char c; 
cout << "\n Enter an integer"; 
cin >> (i); 
cout << "\n Enter a character"; 
cin >> (c); 
return 0; 
} 
+0

답변 해 주셔서 감사합니다. –

+0

코드 전용 답변입니까? 왜 코드에 대한 설명을 제공하지 않았습니까? 그것은 당신을 위해 명백 할 수도 있지만 C++ 초심자에게는 그렇지 않을 수 있습니다. – Striezel

관련 문제