此代码无法在 VS2010 上编译:
struct Point {
float x;
float y;
};
void do_something(Point p) {
// something happens here
}
int main(int argc, char **argv) {
do_something({10, 11});
}
是否有任何 C++ 版本的语法是合法的?
最佳答案
对我来说这看起来像是聚合初始化。它应该在 VS2013 中工作。
编辑:确认,这应该适用于 c++11 编译器。 此外,它不是数组文字,它是聚合初始化。你可以在上面找到规则here和 here . 您也许可以下载更新的编译器并在旧的 IDE 上运行它,但除此之外我认为 VS2010 无法运行它。
关于c++ - 将数组文字作为函数参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32557378/