다음을 수행하려고합니다. "변수"값만 전달하지 않고 참조를 매개 변수로 사용하는 함수를 호출합니다. 내 컴파일러 (gcc)가 임시 "변수"를 보내면 안됩니까? mvc가 그것을하는 것처럼 보일 것입니다 (프로젝트의 다른 사람이 그것을 사용합니다).임시 변수가없는 참조가 아닌 참조로 전달
내가 가진 :
foo(Vector&,Vector&)
는 때마다 나는
어떻게해야합니까 no matching function for call to foo(Vector,Vector); note: candidates are foo(Vector&,Vector&)
를 얻을 수 foo(Vector(1,2,3),Vector(4,5,6))
전화하려고? 왜 작동하지 않습니까? 내가 이해하지 못하는 개념이 있습니까?
감사합니다.
이것은 MSVC "확장자"로 잘못된 성가신 사항입니다. – Erik
가능한 복제본 [왜 gcc가 클래스 선언을 참조 인수로 컴파일하지 않습니까?] (http://stackoverflow.com/questions/2530624/why-wont-gcc-compile-a-class-declaration-as-a -reference-argument) – Suma