C++에 int, string 또는 double 중 하나의 포인터를 반환 할 수있는 함수가 있다고 가정 해 봅시다. 이 함수의 반환 형식은 무엇입니까?다른 유형의 C++ 포인터
함수가 반환하면 반환 값을 저장할 수있는 변수도 필요합니다. 나는 단지 같은 유형을 사용해야 할까?
C++에 int, string 또는 double 중 하나의 포인터를 반환 할 수있는 함수가 있다고 가정 해 봅시다. 이 함수의 반환 형식은 무엇입니까?다른 유형의 C++ 포인터
함수가 반환하면 반환 값을 저장할 수있는 변수도 필요합니다. 나는 단지 같은 유형을 사용해야 할까?
유일한 일치는 void*
입니다.
void* pResult = foo();
당신은
int*
,
string*
또는
double*
캐스팅해야합니다, 나중에 값을 사용하십시오. 따라서 어떤 식 으로든 실제 유형을 추적해야합니다.
한 가지 방법은 필립의 대답에서 설명하는 void*
방법입니다
Java
에서 즉
Object
,
Qt
에서
QObject
)에서 파생되는
object
에 유형을 캡슐화하고 수 있도록하는 것입니다
함수가 공통 기본 오브젝트를 리턴합니다.
QObject obj = foo();
확인 당신이 사용하는 라이브러리, 어쩌면 당신이 사용할 수있는 몇 가지 기존의 일반적인 기본 클래스가 있습니다.
Btw, 나는 템플릿 기능이 문제를 해결하는 좋은 방법이라고 생각합니다.
반환 유형은'void *'입니다. – axiom