C++ C++;指向不同类型的指针
假设我在中有一个函数,它可以返回指向int、string或double的指针。此函数的返回类型是什么C++ C++;指向不同类型的指针,c++,pointers,C++,Pointers,假设我在中有一个函数,它可以返回指向int、string或double的指针。此函数的返回类型是什么 我还想要一个变量,它可以在函数返回返回值时存储该返回值。我应该使用相同的类型吗?唯一匹配的是void* void* pResult = foo(); 要在以后使用该值,必须强制转换为int*、string*或double*。因此,您需要以某种方式跟踪实际类型。唯一匹配的是void* void* pResult = foo(); 要在以后使用该值,必须强制转换为int*、string*或d
我还想要一个变量,它可以在函数返回返回值时存储该返回值。我应该使用相同的类型吗?唯一匹配的是
void*
void* pResult = foo();
要在以后使用该值,必须强制转换为
int*
、string*
或double*
。因此,您需要以某种方式跟踪实际类型。唯一匹配的是void*
void* pResult = foo();
要在以后使用该值,必须强制转换为
int*
、string*
或double*
。因此,您需要以某种方式跟踪实际类型。一种方式是void*
方式,这在Philipp的回答中得到了演示
另一种方法是将您的类型封装在一个对象
中,该对象派生自某个公共基础对象(即Java
中的对象
,Qt
中的QObject
),并让您的函数返回公共基础对象
QObject obj=foo()代码>
检查您正在使用的库,也许您可以使用一些现有的公共基类
顺便说一句,我认为模板函数也是解决问题的好方法。一种方法是void*
方法,这在Philipp的回答中得到了演示
另一种方法是将您的类型封装在一个对象
中,该对象派生自某个公共基础对象(即Java
中的对象
,Qt
中的QObject
),并让您的函数返回公共基础对象
QObject obj=foo()代码>
检查您正在使用的库,也许您可以使用一些现有的公共基类
顺便说一句,我认为模板函数也是解决问题的好方法。返回类型为void*
。返回类型为void*
。