난 내 자신의 배열 클래스의 >> 연산자를 대체하기 위해 노력하고있어에 대한 >> 연산자 우선 ++ :c를 배열 클래스
std::istream& operator>>(std::istream& input, Array& array) {
for (int i = 0; i < array.size; i++)
input >> array[i];
return input;
}
을하지만 난 다음 오류가 될 :
std::istream& Array::operator>>(std::istream&, const Array&)' must take exactly one argument
모든 내가 본 예가 그 것처럼 구현됩니다. 왜 컴파일러가 독창적 인 논쟁을 원하나요? 무엇을해야합니까?
Array a;
a >> whatever;
당신은 그렇지 않은 의미, 그것으로 쓰기 위해 istream
를 원하는 것 :
클래스 외부 나 내부에서 구현할 때와 다릅니다. Array 클래스 안에 있다면 하나의 매개 변수가 필요합니다. –