c++ - 将数组文字作为函数参数传递

标签 c++ struct

此代码无法在 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 编译器。 此外,它不是数组文字,它是聚合初始化。你可以在上面找到规则herehere . 您也许可以下载更新的编译器并在旧的 IDE 上运行它,但除此之外我认为 VS2010 无法运行它。

关于c++ - 将数组文字作为函数参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32557378/

相关文章:

c++ - 如何通知我的应用程序默认的声音播放设备已更改?

c++ - SACSegmentation检测奇平面模型

C struct 段错误

c - 带有 typedef 的结构并声明一个函数

c# - 如何在 asp c# 中定义结构中的列表?

ios - 在 Objective C 中动态设置 C 结构数组的大小?

c++ - SDL_ttf "Couldn' t 用 C++ 中的 SDL2 加载字体文件

java - 从 Java 到 C++ 的快速数组转换

c# - 用于在 RPG 中创建聚会日志的屏幕抓取工具

c++ - 为什么交换没有完成?