에러 해결이 잘안됩니다.
글쓴이: nayana / 작성시간: 화, 2004/04/20 - 8:05오후
#include <iostream>
using namespace std;
// Point 클래스 정의
class Point
{
public :
// 생성자
Point( int ax = 0, int ay = 0 );
void SetPoint( int ax, int ay);
// 출력 연산자 함수 정의
friend ostream& operator << ( ostream& co, Point pt );
// 입력 연산자 함수 정의
friend istream& operator >> ( istream& ci, Point& pt );
public :
int x, y; // 멤버값 (x,y)
};
// 생성자
Point::Point( int ax, int ay )
{
SetPoint( ax, ay );
}
// 멤버값 지정
void Point::SetPoint( int ax, int ay )
{
x = ax;
y = ay;
}
// 출력 연산자 함수 정의, (x,y) 형태로 출력
ostream& operator << ( ostream& co, Point& pt )
{
co << "(" << pt.x << "," << pt.y << ")";
return co;
}
// 입력 연산자 함수, (x,y) 형태로 입력
istream& operator >> ( istream& ci, Point& pt )
{
char dummy;
// ( x , y ) 형태로 객테 데이터 입력
ci >> dummy >> pt.x >> dummy >> pt.y >> dummy;
return ci;
}
int main( void )
{
Point pt[2];
// Point 객체 입력
cin >> " 입력 : ";
cin >> pt[0] >> pt[1];
// Point 객체 출력
cin >> " 출력 : \n";
cout << "Point [0] : " << pt[0] << endl;
cout << "Point [1] : " << pt[1] << endl;
return 0;
}
vc++에서 했을때 에러 코드 입니다.
error C2593: 'operator >>' is ambiguous error C2593: 'operator <<' is ambiguous error C2593: 'operator <<' is ambiguous
g++에서 했을때 에러 코드입니다.
ex03.cpp: In function `int main()': ex03.cpp:60: ambiguous overload for `std::istream& >> const char[9]' operator /usr/include/c++/3.2.2/istream:255: candidates are: std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*) [with _Traits = std::char_traits<char>] <near match> /usr/include/c++/3.2.2/istream:250: std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*) [with _Traits = std::char_traits<char>] <near match> ex03.cpp:64: ambiguous overload for `std::istream& >> const char[9]' operator /usr/include/c++/3.2.2/istream:255: candidates are: std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*) [with _Traits = std::char_traits<char>] <near match> /usr/include/c++/3.2.2/istream:250: std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*) [with _Traits = std::char_traits<char>] <near match>
Forums:


댓글 달기