gpt4 book ai didi

c++ - 带有成员初始化的元组初始化

转载 作者:行者123 更新时间:2023-11-30 01:44:17 26 4
gpt4 key购买 nike

这是代码:

struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};

std::tuple<int, ListNode*> head{0, &&ListNode(0)};

错误注释:

expected ‘}’ before ‘(’ token

我只是困惑这里发生了什么,初始化列表不能接受内部初始化吗?我阅读了 cppreference.com 和 C++ 入门。他们都没有这样的使用示例。但是,我想知道我是否可以做这样的事情:

std::tuple<type, class*> n{ type_value, &&class_initialization }

而不是

std::tuple<type, class*> n{ type_value, class_reference_or_pointer }

最佳答案

  1. 您应该使用单个 & 来获取地址(即 ListNode*)。

  2. 您不能获取临时对象的地址(即 ListNode(0))。

你可能想要:

ListNode node(0);
std::tuple<int, ListNode*> head{0, &node};

关于c++ - 带有成员初始化的元组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36491101/

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