putty 에서의 오류
#include
#include
using namespace std;
int main() {
char select[5];
int minus[5][5];
int plus[5][5];
cout << "operator : " ;
cin >> select;
int (*array)[5] = new int [5][5];
for(int i = 0; i<5; i++) {
for ( int j=0; j<5; j++) {
*(*(array + i) + j) = i + j;
}
}
for ( int i =0; i<5; i++)
{
for ( int j=0; j<5; j++)
{
plus[i][j] = array[i][j] + array[i][j] ;
}
}
for ( int i =0; i<5; i++)
{
for ( int j=0; j<5; j++)
{
minus[i][j] = array[i][j] - array[i][j] ;
}
}
if(strcmp(select, "+") == 0){
cout << "[ " << array[0][0] << " " << array[0][1] << " " << array[0][2] << " "
<< array[0][3] << " " << array[0][4] << " ] "
<< " "
<< "[ " << array[0][0] << " " << array[0][1] << " " << array[0][2] << " "
<< array[0][3] << " " << array[0][4] << " ] " <
cout << "[ " << array[1][0] << " " << array[1][1] << " " << array[1][2] << " "
<< array[1][3] << " " << array[1][4] << " ] "
<< " "
<< "[ " << array[1][0] << " " << array[1][1] << " " << array[1][2] << " "
<< array[1][3] << " " << array[1][4] << " ] " <
cout << "[ " << array[2][0] << " " << array[2][1] << " " << array[2][2] << " "
<< array[2][3] << " " << array[2][4] << " ] "
<< "+"
<< "[ " << array[2][0] << " " << array[2][1] << " " << array[2][2] << " "
<< array[2][3] << " " << array[2][4] << " ] " <
cout << "[ " << array[3][0] << " " << array[3][1] << " " << array[3][2] << " "
<< array[3][3] << " " << array[3][4] << " ] "
<< " "
<< "[ " << array[3][0] << " " << array[3][1] << " " << array[3][2] << " "
<< array[3][3] << " " << array[3][4] << " ] " <
cout << "[ " << array[4][0] << " " << array[4][1] << " " << array[4][2] << " "
<< array[4][3] << " " << array[4][4] << " ] "
<< " "
<< "[ " << array[4][0] << " " << array[4][1] << " " << array[4][2] << " "
<< array[4][3] << " " << array[4][4] << " ] " <
cout << "Result " << endl;
for ( int i =0; i<5; i++)
{cout << " [ " ;
for ( int j=0; j<5; j++)
{
cout << plus[i][j] << " " ;
}
cout << " ] " <
}
}
if(strcmp(select, "-") == 0){
cout << "[ " << array[0][0] << " " << array[0][1] << " " << array[0][2] << " "
<< array[0][3] << " " << array[0][4] << " ] "
<< " "
<< "[ " << array[0][0] << " " << array[0][1] << " " << array[0][2] << " "
<< array[0][3] << " " << array[0][4] << " ] " <
cout << "[ " << array[1][0] << " " << array[1][1] << " " << array[1][2] << " "
<< array[1][3] << " " << array[1][4] << " ] "
<< " "
<< "[ " << array[1][0] << " " << array[1][1] << " " << array[1][2] << " "
<< array[1][3] << " " << array[1][4] << " ] " <
cout << "[ " << array[2][0] << " " << array[2][1] << " " << array[2][2] << " "
<< array[2][3] << " " << array[2][4] << " ] "
<< "-"
<< "[ " << array[2][0] << " " << array[2][1] << " " << array[2][2] << " "
<< array[2][3] << " " << array[2][4] << " ] " <
cout << "[ " << array[3][0] << " " << array[3][1] << " " << array[3][2] << " "
<< array[3][3] << " " << array[3][4] << " ] "
<< " "
<< "[ " << array[3][0] << " " << array[3][1] << " " << array[3][2] << " "
<< array[3][3] << " " << array[3][4] << " ] " <
cout << "[ " << array[4][0] << " " << array[4][1] << " " << array[4][2] << " "
<< array[4][3] << " " << array[4][4] << " ] "
<< " "
<< "[ " << array[4][0] << " " << array[4][1] << " " << array[4][2] << " "
<< array[4][3] << " " << array[4][4] << " ] " <
cout << "Result " << endl;
for ( int i =0; i<5; i++)
{cout << " [ " ;
for ( int j=0; j<5; j++)
{
cout << minus[i][j] << " " ;
}
cout << " ] " <
}
}
delete []array
array = NULL;
return 0;
}
visual studio 에서는 컴파일 에러가 안뜹니다
하지만 putty에서
In function ‘int main()’:
homework07.cpp:44:22: error: ‘strcmp’ was not declared in this scope
if(strcmp(select, "+") == 0){
^
homework07.cpp:101:22: error: ‘strcmp’ was not declared in this scope
if(strcmp(select, "-") == 0){
라고 나옵니다.
어떻게 해야 하나요??
질문을 잘 해주셔요.
kldp에서 소스코드 입력할 때는 code 태그 써 주세요.
visual studio 에서는 잘 되는데 리눅스에서 안 된다면 표준 아닌 함수를 썼을 가능성이 높아요.
putty 는 컴파일러가 아닙니다. 윈도에서 리눅스 서버에 접속할 때 쓰는 도구죠.
http://oops.org/?t=lecture&sb=beginner&n=2
참고하여 다시 질문해보셔요.
세벌 https://sebuls.blogspot.kr/
visudal stuido 는 compiler 를
visudal stuido 는 compiler 를 포함하고 있는 ide 이고, putty 는 터미널 프로그램 입니다. Putty 로 compiler 를 실행할 수는 있지만 pytty 라는 이름으로는 compile 환경에 대한 정보를 줄 수 없습니다.
그러므로, build 가 되지 않는 OS 및 compiler 를 확인해서 알려 주는 것이 답을 얻는데 도움이 될 겁니다. (물론 에러 메시지로 보아서는 linux 에서 gcc(g++) 를 사용한 것 같습니다만..)
그리고
메시지로 보아서는 strcmp 에 proto type이 declare 되지 않았다는 메시지인데, 그렇다면 include header 파일을 확인해 봐야 합니다. 님이 올리신 코드를 보면 include 부분에 나타나지를 않죠.
질문을 하실 때, 글 입력 페이지 제일 상단에, 그리고 글 입력하는 폼에 코드를 입력할 때는 <code> tag 를 사용하라고 잘 보이게 안내를 하고 있지만, 대부분의 분들이 이런 안내를 무시합니다. 그러니 답변을 잘 받을 수도 없게 되는 것이지요.
어찌하든,, 문제는 strcmp 가 선언이 되어있는 헤더 파일이 없어서 발생하는 것일테니, string.h 를 include 해보세요.
#include <string>
님처럼 code tag를 사용하지 않으면 아래처럼 보입니다.
#include
cstring
C++에서는 아마 아래가 권고되는 include일 것 같습니다.
#include <cstring>
댓글 달기