是否可以在函數調用中定義一個聯合臨時變量,而不是先前定義它,然後將它傳遞給參數?如何將聯合作爲函數參數傳遞,而無需先定義它?
例子:
union data_t{
double delaySeconds;
float scale;
float rotation;
};
void someFunction(data_t){}
現在我想打電話給someFunction
,使用任何工會的元素是適當的:
someFunction(WHAT DO I PUT HERE);
例如,如果傳遞給需要一個類型的函數包含一個構造函數,您可以在函數調用中定義您的臨時權限。但我嘗試了這種聯盟的各種方式,但沒有運氣。例如,假設我想通過分配給scale
一個浮動:
someFunction(data_t.scale(2.0));
如果是我,我會避免像瘟疫那樣的「工會」。 – 2013-05-11 06:39:44
不一定...如果使用正確,工會可以非常強大 – 2013-05-11 06:40:12
爲什麼你不使用重載? – Pubby 2013-05-11 06:40:14