我这里有非常简单的代码,矩形和圆形 class 继承自形状 class,以及 output 它们的面积和周长。 我不明白为什么它不编译。 错误信息说错误:'this'之前的预期标识符 Rectangle(浮动宽度,浮动高度):this->width(宽度),this->height(高度 ...
我这里有非常简单的代码,矩形和圆形 class 继承自形状 class,以及 output 它们的面积和周长。 我不明白为什么它不编译。 错误信息说错误:'this'之前的预期标识符 Rectangle(浮动宽度,浮动高度):this->width(宽度),this->height(高度 ...
我有一个像这样的结构: 现在我想使用初始化列表初始化结构,如下所示: 但是,这不起作用。 如何使用defaultName在初始化程序中初始化 char 数组? 我使用MyStruct structObj{defaultName, 0}; 但这不起作用。 我知道我可以做{"Hello", 0}但我想 ...
我有以下代码: 有没有办法在编译时获取 INIT_LIST 中的条目数? ...
以下 C++ 代码编译时没有错误或警告,但由于某种原因,当我打印出 foo.arr 的内容时,我得到的只是垃圾值。 看起来数组成员没有被正确初始化。 但是如果我这样写,当我打印出结果时,foo.arr 就被正确地初始化了。 为什么第二种情况有效,而第一种情况无效? 人们会认为编译器会为常量数据 { ...
我有一个 class (foo),它有一个成员 (c),我想它是一个二维整数数组。 出于某种原因,我无法让初始化列表在数组上正常工作。 我在网上找到了很多成员初始值设定项列表示例,但没有一个专门处理恰好是 C 样式数组的 class 成员(我发现的所有示例似乎都使用 std::vector 或类似的 ...
我有一个 integer_sequence,我需要为std::map的构造函数创建std::initializer_list 。 想法如下: 通常会生成std::initializer_list ,但无法返回:它使用本地存储。 我无法想象如何将GenerateRegMap的内容写到位。 真的m是一 ...
我正在尝试创建一个 function 来初始化一个内部std::set<std::string> ,我想公开一个 API 允许任何类型的范围作为输入,包括初始化列表。 所以我的目标是:// API definition class Toto { public: void set_ ...
在下面的示例中 (c++11):#include <iostream> struct foo { foo() = default; foo(int x): v1{x} {} int v1 = 0; int v2 {v1}; void prin ...
我正在尝试在 C++ 中构建井字游戏,但是,我在 C++ 中非常初学者,但可以相当自信地在 Python 中编码。这是我目前的代码: 当程序到达第 3 行列表中的第 4 项时出现问题。 E0146 - 初始化值太多 C2078 - 初始化值太多 因此,程序显然无法运行。 任何帮助将不胜感激,因为我 ...
我问是因为auto将{}推断为initializer_list 。 我不知道核心语言依赖于这样的标准库中的任何其他 class。 你可以取出vector或array ,C++ 仍然是 function,但取出initializer_list它将中断。 ...
我想写一些代码如下: 有什么方法可以修复CombinedBox的实现,以便SevenDimensionalBox::kDims有效地绑定到{1, 2, 3, 4, 5, 6, 7}吗? 我知道我可以将std::initializer_list<int>替换为自定义模板 class 和可变 ...
当我尝试编译以下代码时,编译器会抱怨: 编译器(gcc)给了我以下错误: 但是当我尝试使用直接初始化时,程序编译罚款: 为什么这是格式良好的? 为什么编译器拒绝列表初始化并允许直接初始化? 是否有标准中的规则? 另外,以下代码格式正确吗? 我的意思是,我可以这样做: ? ...
在我的项目中,运行时需要 append 初始化列表。 我已经想出了在我的项目中在运行时使用 initializer_list std::initializer_list<std::pair<std::string, std::string>> 的方法,但如果用户传递多个不。 ...
我在玩概念(我想给这个问题一个 C++ey 的答案)并且遇到了一个令我困惑的 std::initializer_list 行为。 尽管以下代码有效: output: 但是如果我想添加 该程序将无法编译。 MSVC、gcc 和 clang 给出的原因是“无法推断模板参数”。 但是如果你为 std ...
A class (dLinkedList) 需要有不同的 c-tors:[请不要建议使用 STL 容器!] 但是,带有 initializer_list 的 c-tor 似乎不起作用。 例如,如果我们像这样构造一个 class: 但我的问题是——基于 arguments——这个 c-tor 可以 ...
假设我有一个模板 function 采用 class object: 和 class 定义如下: 有没有办法编译下面的代码? ...
为什么 c++ 选择原始类型重载匹配而不是“更好”匹配的初始值设定项列表? #include <vector> void foo([[maybe_unused]] int i) {} void foo([[maybe_unused]] const std::vector<int ...
我刚刚阅读了 Raymond Chen 出色的“旧新事物”中的以下文章: https ://devblogs.microsoft.com/oldnewthing/20210719-00/?p=105454 我有一个关于这个的问题,最好在下面的代码片段中描述。 为什么完全允许“x3”的初始化? 我看 ...
帮我解决这个难题:在下面的代码中,我有一个std::variant ,它向前声明了一个从这个变体派生的结构代理。 仅使用此结构是因为递归using声明在 C++ 中不是一个问题(不幸的是)。 无论如何,我拉入了为每个声明的变体替代 T 定义的变体的所有基类构造函数 根据cppreference ...
我希望能够使用大括号初始化列表初始化container ,而不必指定类型。 这更加困难,因为我有嵌套的初始化程序。 现在我几乎可以工作了,但是在变体包装器中有两个 initializer_list 重载,编译器无法确定使用哪个。 实际上,在这种情况下,调用甚至没有歧义,因为只有类keyval将字符 ...