我有這樣的功能:如何打印的Vector2D在UnrealScript
function AddImpulse(Vector2D impulse)
{
`log("ADD IMPULSE: " $ impulse);
}
麻煩的是,我得到的錯誤「正確的類型是‘$’不相容看來,雖然內置的載體。類會自動強制爲一個字符串,Vector2D類只是一個內置的結構,沒有任何操作符重載或自動轉換。
我寫了一個運算符重載,它有助於這種情況,但除非我把重載聲明對象類(我認爲不應該這樣做)我必須在每個可能使用它的類中聲明它:
static final operator(40) string $ (string A, Vector2D B)
{
return A $ string(B.x) $ ", " $ string(B.y);
}
有沒有一種方法可以做到這一點一般,這樣我不需要每次都做:
`log("ADD IMPULSE: " $ impulse.x $ "," $ impulse.Y);
雖然在一個的Vector2D的情況還不錯,這會在更大的結構或類別中變得繁瑣。