2010-05-04 103 views

回答

9

在C++ 03定義的當前C++中無法完成。

您正在查找的功能稱爲「複合文字」。它以C語言定義(當然是C特有的功能),但不在C++中。

類似的功能也計劃在C++中,但它還沒有。

0

我不認爲你可以在C++ 98中做到這一點,但你可以在C++ 1x中使用initializer_lists

+0

我非常喜歡initializer_lists。 – 2010-05-04 17:33:29

0

正如你所寫,你不能這樣做。該函數需要一個指向字符串的指針。即使您能夠將數組作爲文字傳遞,函數調用也會生成錯誤,因爲文字被認爲是常量(因此文字數組的類型應該是const string*而不是函數所期望的string*)。

+0

如果我沒有實例化一個變量,它仍然有一個指針(地址)。 – yegor256 2010-05-04 16:50:22

+0

解答澄清 – bta 2010-05-04 17:25:02

0

使用可變參數函數將無限制的無類型信息傳入函數。然後用傳入的數據做任何你想要的東西,比如將它填充到一個內部數組中。

variadic function