假設我在C++中有一個函數,它可以返回一個指向int,string或double的指針。這個函數的返回類型是什麼?指向不同類型的C++指針
我還想要一個變量,可以存儲返回值,一旦函數返回它。我應該使用相同的類型嗎?
假設我在C++中有一個函數,它可以返回一個指向int,string或double的指針。這個函數的返回類型是什麼?指向不同類型的C++指針
我還想要一個變量,可以存儲返回值,一旦函數返回它。我應該使用相同的類型嗎?
唯一的匹配是void*
。
void* pResult = foo();
要在以後使用的值,你將不得不轉換爲int*
,string*
或double*
。所以你需要以某種方式跟蹤實際的類型。
一種方式是被證明了菲利普的回答void*
方式
另一種方法是封裝在一個object
從一些共同的基本對象(即Java
Object
,QObject
在Qt
)派生的類型,並讓你的函數返回公共基礎對象。
QObject obj = foo();
檢查您所使用的庫,也許還有你可以使用一些現有的公共基礎課。
順便說一句,我認爲模板功能也是解決您的問題的好方法。
返回類型是'void *'。 – axiom