首页 > 原创文章 > 软件开发 > 查看文章

C++为什么不能在未命名的结构上调用成员函数?

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-05-16 08:44 浏览: 2738 IP属地: 深圳
int main() {
    auto hello= struct {
        int test() {
            return 1;
        }
    }().test();
}

有初学C++的小伙伴提问,在运行C++代码时报错,错误提示如下:

<source>:2:18: error: expected expression
    2 |     auto hello= struct {
      |                  ^
1 error generated.

这是什么问题呢?经过分析得知,错误原因是C++初始化错误,初始化必须是一个表达式,而不是另一个声明符。正确的方法是,你可以在lanmbda中定义一个命名结构,然后创建和返回初始化,代码如下:

int main() {
    auto hello= [](){
        struct dummy {
            int test() {
                return 1;
            }
        };
        return dummy{};
    }().test();
}


标签:

相关文章

My97DatePicker在iframe页...

问题描述:在使用iframe的框架系统中,左侧菜单,右侧为iframe页面区域,由左侧的菜单控制右侧的iframe链接显示页面。每个页面都由my97datepicker,在刷新网页首次打开右侧页面内容时,触发WdatePicker显示日...

微信小程序图片显示不了报404错误的解决办法

该问题指针对使用宝塔BT面板的同学。在日常开发微信小程序的过程中,突然发现很简单的一个图片调用报404错误了,检查URL是正确的呀,在浏览器中可以打开,并且检查了服务器文件夹,的确有这个文件,排除了缓存的可能,那么到底是什么问题造成微信...

Uniapp开发小程序和app时,根据登录状...

在使用uniapp开发app和小程序时,经常会用到打开app/小程序时,根据登录状态判断是显示首页还是跳转登录页的功能。此功能在app.vue的onlaunch方法中定义,方法如下:onLaunch: function() { cons...

目前有可以替代JetBrains的AI ID...

目前AI应用飞速发展,国内外各大厂商都推出了AI IDE(用于编程开发的编辑器),比如Cursor、Trae、Qoder、Copliot等。但就我们常用的开发工具来说,比如JetBrains旗下的Intellij IDEA、Websto...

推荐文章

Tortoise Svn出现No Path ...

在日常开发过程中,突然发现svn无法提交和更新,出现“no path or pathfile specified on the command line”的错误,网上搜了一圈百度 google 以及stack overflow都没找到真正能...

CSS常用字体及网页引用方式

1.字体列表及引用链接鸿蒙字体 - B 站400 字重 CSS://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css 500 字重 CSS://s1.hdslb.com/bfs/st...

VideoJs宽度高度自适应100%的方法

videojs是一款非常不错的html video播放器插件,很多同学经常在群里问我,说丁老师这个videojs怎么设置为宽度或者高度自适应呢,不想把video的width和height写死,有没有什么办法呢。丁老师经过研究发现啊,vide...

微信小程序从开发到实现微信支付的全过程

微信小程序部分一、完善小程序基本信息1.用管理员账号登录微信小程序(https://mp.weixin.qq.com/);2.左侧菜单选择首页;3.完善小程序的基本信息,包括小程序名称、小程序类目、微信认证、微信备案等。二、小程序开发配置1...