-4
我想在不使用宏的情況下爲兩種不同的數據類型使用一段代碼。我嘗試過這樣的事情,但我沒有提出一個完整的解決方案。使用同一段代碼而不使用兩種不同數據類型的宏
void func(bool istype1, void *ptr)
{
void *t1;
if(isType1)
t1=static_cast<type1>(ptr);
else // isType1 == false means data type 2.
t1=static_cast<type2>(ptr);
...
...
...
}
如果您將鑄造的指針分配回'void *',您將立即丟棄類型信息。 – FatalError 2013-03-22 03:04:57
你如何做到這一點,完全取決於那些'...'中的內容,以及你想要做什麼。 – 2013-03-22 05:51:01