C++ 대입 연산자 오버로딩 에러

C++ 대입 연산자 오버로딩 에러

작성일 2014.10.08댓글 1건
    게시물 수정 , 삭제는 로그인 필요

myInt라는 클래스를 만들었습니다.

복사 생성자, 대입 생성자 모두 만들었구요.

그리고 다음과 같은 세 연산을 지원합니다.

myInt operator +(myInt &paramAdder);

myInt operator *(myInt &paramAdder);

myInt& operator =(myInt &paramAdder);


+, *연산은 모두 임시객체를 만들어서 반환하는 형태구요


=연산은 this의 정보를 수정해서 *this를 반환하는 전형적인 형태입니다.


문제는


윈7 비주얼스튜디오 2013에서는 myInt = myInt + myInt 형태의 연산이 수행됩니다.


하지만 맥 xcode에서는 위 연산 수행시, 'No viable overloaded'라는 문구가 나오며 에러가 납니다.


대입 생성자, 복사 생성자, + 오버로딩 모두 (const를 생략한)전형적인 형태로 작성했는데


왜 맥에서는 에러가 나는걸까요?


코드가 100자가 넘어가는 관계로 코드는 생략했습니다..



#c++ 대입연산자 오버로딩 #c++ 대입생성자 #c++ vector 대입 #c++ string 대입 #c++ 배열 대입 #c++ 배열에 배열 대입 #c++ 구조체 대입 #c++ 포인터 대입 #c++ 변수 대입 #c++ 클래스 대입

profile_image 익명 작성일 -

Xcode 툴은 Objective C 언어입니다.

연산자 오버로딩(Operator-overloading)은 C++의 feature 입니다.

즉, Objective C는 Operator-overloading 를 지원하지 않습니다.

Objective C++ 에서는 될지도 모르는데 소스코드의 확장자 m을 mm으로 변경하여 빌드 해 보세요.
mm은 Objective C++ 소스파일의 확장자로 Xcode가 Objective C++ 컴파일러로 빌드 하게 됩니다.


C++ 대입 연산자 오버로딩 에러

... 나오며 에러가 납니다. 대입 생성자, 복사 생성자, + 오버로딩 모두... 연산자 오버로딩(Operator-overloading)은 C++의 feature 입니다. 즉, Objective C는 Operator...

c++ 대입 연산자 오버로딩 질문이요~

... 연산자 오버로딩에서 사람들이 가장 괄시하는 것이, 3항 대입 연산입니다. a = b = c; 라는 식은 정상적으로 컴파일 되어야 할까요 아니면 에러가...

c++ 대입 연산자 오버로딩

... 아예 에러를 표시하며 작동하지 않는 경우도 있습니다. 특히 인수의 const... // b가 상수객체인데, 이것을 대입받기 위해서는 반드시 = 연산자는 const...

C++ 대입연산자 오버로딩 질문

... 이렇게 배열이 클래스 멤버변수인 경우는 대입연산자 오버로딩을 어떻게 해야하는지 알려주시면 감사하겠습니다... 맨날...

c++ 연산자 오버로딩 관련 질문

... 아는데, []연산자 오버로딩을 보면 처음꺼에... 복잡하고 아름다운 C++ 의 세계에 오신것을... 또한 int 타입의 대입 연산자의 두번째 인자가 reference와 copy...

[c++]연산자 오버로딩 멤버함수내 사용.

... 저는 this( 2 , i ) 로 해보니 에러가 발생합니다. 그냥 ( 2 , i ) 로 하면 i 가... 저 스왑하는 코드가 class 외부에 있다면 "= 연산자 오버로딩"을 구현하면 대입이 가능하지...