问题标签 [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.

0 投票
9 回答
35070 浏览

c++ - 带空括号的默认构造函数

是否有充分的理由表明一组空的圆括号(括号)对于调用 C++ 中的默认构造函数无效?

我似乎每次都自动输入“()”。有充分的理由不允许这样做吗?

0 投票
3 回答
1252 浏览

c++ - 为什么没有调用构造函数?

这段代码的行为与我期望的不同。

我期望输出“调用默认构造函数”,但我没有看到任何输出。问题是什么?

0 投票
5 回答
277 浏览

c++ - 不调用移动 ctor

我做错了什么(再次)?

请参阅代码中的注释行

已编辑 [取自 FredOverflow 答案]

我得到输出:

0 投票
2 回答
1043 浏览

c++ - 构造函数调用机制

预期输出:

实际输出:


我对构造函数调用机制的理解有什么问题?

Note为简洁起见,我省略了头文件。

0 投票
3 回答
685 浏览

c++ - 使用 istream_iterator 范围构造时无法访问向量


我尝试编译此代码片段,但出现编译器错误:(!使用 Visual Studio 2010 编译

错误:

发生了什么?向量构造正确,我怎么不能调用它?

最好的祝福,

0 投票
2 回答
934 浏览

c++ - 在 main 中显式使用构造函数调用作为函数调用参数

我正在尝试使用以下代码了解 main 中的显式构造函数调用是如何工作的。

函数测试被调用,其中构造函数Dependency1()被用作函数调用,而不是Dependency1::Dependency1(),并且代码运行得非常好。

现在如果我使用类似的概念来创建 Dependency2 的对象 D1,它就不起作用。似乎我在这里做错了什么是基于错误的理解。

需要知道编译器如何在 main 中解析 Dependency1() 调用,即使没有使用范围解析,以及为什么当我将它用作Dependency2的构造函数中的参数时它不起作用

谢谢, 阿南德

0 投票
7 回答
15607 浏览

c++ - 使用 () 或不使用创建对象的区别

我只是遇到了问题

当试图编译一个简单的 qt 应用程序时:

我通过替换解决了这个问题

经过

但我不明白其中的区别。我的问题:有什么区别?

问候,德克

0 投票
2 回答
382 浏览

c++ - 使用模板的 C++ 编译时检查器

我有以下取自现代 C++ 设计的代码。当我使用它时,我得到了编译错误,我认为无效的 sizeof 操作数。任何人都可以指出是什么问题。谢谢!

错误:

d:\technical\c++study\readparsing\readparsing\addressconv.cpp(29) : 错误 C2066: 转换为函数类型是非法的 1> d:\technical\c++study\readparsing\readparsing\addressconv.cpp( 37) : 请参阅正在编译的函数模板实例化 'To safe_reinterpret_cast(From)' 1> 使用 1> [ 1> To=int, 1> From=void * 1> ] 1>d:\technical\c++study \readparsing\readparsing\addressconv.cpp(29) : 错误 C2070: 'CompileTimeChecker<__formal> (safe_reinterpret_cast::ERROR_Destination_Type_Too_Narrow (__cdecl *)(void))': 非法 sizeof 操作数 1> with 1> [ 1> __formal=true 1 > ]

0 投票
2 回答
238 浏览

c++ - 尝试创建临时对象时出现奇怪的编译器错误

发布此问题后,我尝试重现创建范围 RAII 对象时意外创建右值的问题。现在看来,如果没有编译器错误,我就无法重现它!

在下面的代码示例中,在Test::foo()第二个 ScopedLock 创建中没有编译。gcc 编译器错误似乎完全错误。谁能解释一下?

我在 Mac 上使用 GCC 4.2.1。

更新

我查看了原始代码,发现该成员是通过this指针引用的:

0 投票
2 回答
178 浏览

c++ - 使用意外声明为函数的对象后解释 GCC 错误

以下是语言新手的常见拼写错误,他们认为他们正在定义一个对象,但实际上是在声明一个函数:

GCC 4.1.2 的错误是:

为什么消息中报告的类型是T ()()?我早就料到了T ()