问题标签 [most-vexing-parse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 为什么没有为语句“A x(A())”调用 A 的构造函数?
这是关于 C++ 的一个非常基本的问题。为什么不为语句“A x(A())”调用构造函数?
在下面的代码中——我使用 g++ 4.8.2 运行——构造函数(以及析构函数)只被调用一次。x
这可能是由于优化,但我对typeid 报告的类型感到好奇,即“A(A (*)())”。
c++ - C++ 复制构造函数失败
我查看了作为 Stackoverflow 认为可能已经有答案的问题提出的各种选项,但我没有看到任何接近的问题。
示例代码:
这是来自 VS 2010 的 MSVC。 test2 的创建可以正确编译,但对其成员的访问失败,声称 test2 没有类类型。
据我所见,一切都是正确的,复制构造函数采用 const 引用,因此它应该可以与正在使用的临时对象一起正常工作。
那么错误的原因是什么?
c++ - 尝试在模板类中使用模板对象时出现问题
考虑以下类定义......
节点
链表
主要的
编译时会抛出以下错误...
我对使用模板非常缺乏经验,因此将不胜感激。
c++ - 类的构造创建了意外的函数指针
我在帖子底部有以下代码。问题是:虽然我希望在所有情况下都有 MyBar 的实例,但在某些情况下,已解析的类型是函数指针。
该代码使用 gcc 4.8.4 和 nvcc(7.0 和 7.5)编译并显示相同的行为。
标准中有什么可以解释这里发生了什么吗?MyBar myBar1()
似乎创建了一个函数指针,而不是我期望的默认构造实例。但即便如此,为什么案例 4 会创建一个函数指针?我想创建一个实例,将它传递给绑定到 const-ref 的 Bars ctor。它也应该能够绑定到 r-value-ref 而不是它的 r-value。还是我错过了什么?
c++ - 在构造函数中将 std::string 转换为 QString
我不明白为什么std::string
在将它传递给构造函数时转换为 QString 。这是一个小例子:
编辑:
c++ - 将函数声明转换为变量定义的简单技巧
我知道以下语句被解释为函数声明而不是变量定义
有什么简单的技巧可以把它变成我想要的单行变量定义吗?我不太喜欢文案
c++ - 仿函数/函数对象的 is_function 类型特征
考虑以下代码:
输出是false
。
这并不奇怪,因为仿函数Bar
不符合函数类型§8.3.5 Functions [dcl.fct]的条件。
现在考虑以下代码:
注意后面的括号Bar
。输出是true
。
如何Bar()
限定为函数类型?
我的猜测是这是最令人烦恼的解析的情况,但是既然它在模板参数列表中,怎么可能呢?
c++ - C++ 中链表代码中未解决的外部错误
我的实现代码有问题,你能帮我正确运行这段代码吗?
该代码必须插入一个新客户并显示所有客户..
我收到以下错误:
1>Source.obj : 错误 LNK2019: 函数 _main 1>c:\users\mmm\documents\visual studio 中引用的未解析的外部符号“class waitinglist __cdecl mylist(void)”(?mylist@@YA?AVwaitinglist@@XZ) 2012\Projects\ConsoleApplication141\Debug\ConsoleApplication141.exe:致命错误 LNK1120:1 个未解决的外部
这是Header.h
:
这是Source.cpp
与main
:
c++ - 如何在 C++03 中对模板类型的对象进行值初始化
假设我有一个函数模板并且想要声明一个值初始化的对象:
我可以做吗?
T x;
原始类型失败,因为它使它们未初始化,T x();
由于最烦人的解析而失败T x = T();
需要一个复制构造函数并且不需要编译器删除副本T x{};
失败是因为我们没有使用 C++11。
我希望我是个白痴,忽略了一些明显的事情,但我没有看到答案。