解决:std::ostream operator<< should have been declared inside 'xxx'

用VS的NMAKE构建,不会报错,但是用GNU MAKE构建,就会报错。(尝试删除Toast.h中第24行的声明)

因此在遇到类似的情况的时候,记得不仅class里面要有friend声明,namespace里面也要有声明

点此下载demo

解决:std::ostream operator<< should have been declared inside 'xxx'

时间: 2024-11-06 03:04:03

解决:std::ostream operator<< should have been declared inside 'xxx'的相关文章

解决使用Handler时Can&#39;t create handler inside thread that has not called Looper.prepare()

在android开发中,主线程不能进行耗时操作,所以我们经常把耗时操作放在子线程中进行,那么就需要子线程与主线程相互交流,就需要使用到handler. 而在使用handler过程中,如果对handler使用不太熟练的话就偶尔会出现Can't create handler inside thread that has not called Looper.prepare()的报错异常.之前在Handler的原理的博文中有讲到,Handler的使用会依靠Looper循环来发送消息,如果不创建Loope

解决Java中There is no getter for property XXX&#39;XXX&#39; in &#39;class XXX&#39;的问题

当你出现There is no getter for property XXX'XXX' in 'class XXX'时, 就是在你的这个类中没有找到你这个属性. 检查两个地方 1.你的返回值类型是否正确    就是class 类路径是否正确, 我这里设置了别名,如果你没有设置别名是需要写全路径的. 2.检查你#{}中的参数是否和你实体类中的字段相同,必须相同他才会识别到. 而且是区分大小写的,如果你大小写不对应也是找不到的. 解决Java中There is no getter for prop

python编码问题——解决python3 UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character &#39;\xXX&#39; in position XX

python实现爬虫遇到编码问题: error:UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX 解决办法:改变标准输出 添加代码: sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码 ps: 1.str转bytes叫encode,bytes转str叫decode 2.常用的中文编码名

解决QT:forward declaration of &amp;#39;struct Ui::xxx&amp;#39;;invalid use of incomplete struct &amp;quot;Ui::Widget&amp;quot; 等莫名奇异错误

今天在进行QT Widget的UI设计时,改了下Widget的对象名,然后在多次成功编译执行后,执行清理,又一次构建,就出现了好多莫名奇异的错误: widget.h:12: 错误:forward declaration of 'struct Ui::Widget' widget.cpp:8: 错误:invalid use of incomplete type 'struct Ui::Widget' 网上搜索发现是每当你新键一个 QT设计界面, QT会自己主动生成yyy.ui文件,如Widget.

用正则表达式解决查找指定字符串前一位不能出现xxx,后一位不能出现xxx

之前项目要求做一个按指定字符串查找的工具,把所有该字段对应的数据信息都取出来.由于数据量大所以查询结果要求精确匹配(说到这里没有什么难度). 但是还有一种符合条件的结果是该字段处于一条sql语句中,简单的说,就是一个长得字符串里包含了要查询的字段,那么要求来了. 1, 必须找出精确匹配要求的字符串的查询结果,包括完全相同结果和长字符串中精确匹配的结果 2, 长字符串中的字符串有可能含有&xxx,或者&&xxx 也是符合条件的,因为他们实际指的是同一个字符串. 看起来很乱,举个例子就

解决部署报错No main manifest attribute, in XXX.jar

将build中的入口改为如下即可解决: <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>repa

ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()

FTP服务器的搭建,我要实现的需求是: 不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件, 需要锁定一个目录,因为在家里,我需要给媳妇下载一些电影 韩剧之类的东西,媳妇会来我机器下载,但是我不想让他随意操作我的东西. 万一删除我的配置文件,我就惨了(吐槽一下韩剧:媳妇问我,你都没看过韩剧怎么知道它不好看呢,我说:我没吃过屎 但是知道它一定不好吃!) 另外,需要本机也能访问,因为我要做一些关于FTP的测试.  不单独建立FTP用户,FTP也使用ubuntu桌面的用户进行登录和操作,

解决centos7.4 安装LAMP环境后报错:1130- Host xxx is not allowed to……

配置好环境后,用navicat登录账号时报1130- Host xxx is not allowed to--或 access denied for user [email protected]--错,原因是远程登录权限需要再设置一下,流程如下: 1.登录shell工具,先登录mysql(最新的mysql分支为mariaDB)mysql -uroot -p   回车   输入密码  回车确定登录. 2.在mysql中运行命令 GRANT ALL PRIVILEGES ON *.* TO 'roo

模仿std::vector写线性表的几点感想

数据结构还是很早之前学的了,当时才刚学过C语言,实现得都很简单,最近决定重新打牢基础,于是重新开始实现书上的数据结构和算法. 模仿C++ Primer的StrVec以及std::vector,使用模板类+allocater分配内存,遵循“三/五原则”,期间遇到了几个小问题,记录下. 1.unsigned和signed的比较: 在实现insert操作时,写了个私有方法去把数组index处开始的元素向后移动n位.分两种情况处理,一种是容量不够需要重新分配内存,另一种是容量足够,直接向后移动. 前一种