2010-05-04 62 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