首页 > 后端开发 > C++ > 为什么我的 C 程序会抛出'无参数构造函数”错误?

为什么我的 C 程序会抛出'无参数构造函数”错误?

Linda Hamilton
发布: 2024-11-17 17:45:01
原创
291 人浏览过

Why Does My C   Program Throw a

理解“无参数构造函数”错误

在 Cygwin 中使用 g 编译带有无参数构造函数的 C 程序时,您可能会遇到神秘的错误消息:“错误:请求‘myObj’中的成员‘function1’,它是非类类型 'MyClass ()()'"。

此错误源于对 C 中构造函数声明语法的误解。根据语言标准,有歧义的语法“MyClass myObj();”可以解释为对象定义或函数声明。然而,该标准通过优先考虑函数声明解释来解决这种歧义。

因此,为了避免此错误,您应该显式声明不带括号的对象,如下所示:

MyClass myObj;
登录后复制

此声明澄清“myObj”是“MyClass”类型的对象,而不是函数声明。

总而言之,错误当编译器错误解释对象声明的语法并将其解析为函数声明时,就会出现“无参数构造函数”。为了防止出现此错误,请确保为不带参数的构造函数声明不带括号的对象。

以上是为什么我的 C 程序会抛出'无参数构造函数”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板