에러 해결이 잘안됩니다.

nayana의 이미지

#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>