gpt4 book ai didi

c++ - 无法使用大括号为 C++ 对赋值

转载 作者:行者123 更新时间:2023-11-28 01:46:24 26 4
gpt4 key购买 nike

每当我使用花括号为一对赋值时,我都会收到以下错误

error: expected expression
p = {0, 0};

这是代码 -

#include <iostream>
#include <utility>
using namespace std;

int main() {
pair<int, int> p;
p = {0, 0};
return 0;
}

我正在使用 Xcode 附带的 clang 编译器。

我不知道为什么这不起作用,因为它在 ideone 上运行良好

最佳答案

此语法使用 list initialization ,特别是该页面上的表格 (10)。由于列表初始化仅在 C++11 中引入,因此您需要使用该版本进行编译。 Clang 默认使用 C++98 构建,因此您需要使用 -std 标志指定更高版本。获得列表初始化的最小值是 -std=c++11,但您可以使用 -std=c++14-std 获得更多功能=c++1z(这意味着 C++ 的下一个版本,几乎肯定是 C++17,在不到两周内标准化)。

我不知道当你选择 C++ 时 ideone 使用什么编译器或标志,但它显然支持 C++11。

关于c++ - 无法使用大括号为 C++ 对赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44882413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com