C++报错集锦
(一)invalid initialization of non-const reference of type ‘float&’ from a temporary of type ‘float’
代码如下:
#include <iostream>
using namespace std; void update(float& i) {
cout << i << endl;
} void g(double d, float r) {
update(2.0f);
update(r);
update(d);
} int main(void) {
g(3.2, 1.3);
}
原因在于调用update(2.0f)和update(d)出错了:
对于普通的T&的初始式必须是一个类型T的左值;
对非const引用参数不允许做类型转换,非const引用不能引用一个常量。
这个问题有待进一步讨论。
(二)error: ‘cout’ was not declared in this scope
这真是个弱智问题,在文件头部加上
#include <iostream>
using namespace std;
(三)usestock0.cpp:7: error: request for member ‘acquire’ in ‘fluffy_the_cat’, which is of non-class type ‘Stock*’
这是因为自己用的是:
Stock *fluffy_the_cat = new Stock;
fluffy_the_cat.acquire("NanoSmart", 20, 12.50);
fluffy_the_cat.show();
fluffy_the_cat.buy(15, 18.125);
fluffy_the_cat.show();
问题出在fluffy实际上指针,而我在用的时候却把它当作普通的变量
解决办法:
Stock *fluffy_the_cat = new Stock;
(*fluffy_the_cat).acquire("NanoSmart", 20, 12.50);
(*fluffy_the_cat).show();
(*fluffy_the_cat).buy(15, 18.125);
(*fluffy_the_cat).show();
果然可以了,其实我是想测试如果用new新建对象,但是又不delete,这时候会不会调用析构函数,
最后是没有调用析构函数
(四)error: call of overloaded ‘max(int&, int&)’ is ambiguous
正在练习函数模版,结果报错
li7_2.cc: In function ‘int main()’:
li7_2.cc:19: error: call of overloaded ‘max(int&, int&)’ is ambiguous
li7_2.cc:7: note: candidates are: T max(T, T) [with T = int]
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algobase.h:209: note: const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]
代码如下:
#include <iostream>
#include <string> using namespace std; // 声明了一个类模版
template <typename T> T max(T a, T b)
{
return a > b ? a : b;
} int main()
{
int a, b;
cout << "Input two integers to a and b: ";
flush(cout);
endl(cout);
cin >> a >> b;
cout << "max(" << a << "," << b << ")=" << max(a,b) << endl;
}
原来是出现了函数实例模糊,std里面也有一个max函数模版,真是晕了,程序搞不清要用哪个,但是书上的程序居然是通的。真是醉了。
于是只好把那个max改为max1,程序就可以运行了。
(五)error: invalid operands of types ‘const char [2]’ and ‘char’ to binary ‘operator<<’
一般这个错误是cout << 输出时,<<少写了一个<
cout << "max1(" << "\'" << c << "\'" << "," <"\'" << d << "\'" << ")=" << max1(c,d) << endl;
(六)error: non-member function ‘T max(T*, int)’ cannot have cv-qualifier
错误代码
template <typename T> T max(T a[], int n) const
{
T tmp = a[0];
for(int i=1; i<n; i++)
{
if(a[i] > tmp)
tmp = a[i];
}
return tmp;
}
这里由于template max是一个函数模板,但是我却在后面加了一个const,天哪,const放在函数后面只能用于成员函数,表名调用这个函数的对象在函数执行的过程中并不改变。
而且函数模版的声明和定义必须是全局作用域,模板不能被声明成类的成员函数。
C++报错集锦的更多相关文章
- react+typescript报错集锦<持续更新>
typescript报错集锦 错误:Import sources within a group must be alphabetized.tslint(ordered-imports) 原因:impo ...
- Python ——报错集锦
https://blog.csdn.net/weixin_42660771/article/details/80990665 错误(1):SyntaxError:'return' outside fu ...
- 源码安装zabbix遇到的报错集锦
报错1:checking for mysql_config... configure: error: MySQL library not found 解决办法:查找mysql_config #find ...
- hexo报错集锦
1.报错信息如下 FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubles ...
- python在linux的报错集锦
1. 报错提示 /usr/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 ...
- javascript报错集锦
1.JS 异常之 missing ) after argument list 错误释疑报错原因:不是字符串就输出啦
- vue、vuex、iview、vue-router报错集锦与爬坑记录
1.vue报错: 没安装 less-loader css-loader style-loader 可能的很大原因:没安装less 2.vuex报错:Computed property &qu ...
- django2.0集成xadmin0.6报错集锦
1.django2.0把from django.core.urlresolvers修改成了django.urls 报错如下: 1 2 3 File "D:\Envs\django-xad ...
- eclipse本地启动tomcat报错集锦
1.eclipse本地添加tomcat服务器 打开Eclipse,单击“window”菜单,选择下方的“Preferences”: 找到Server下方的Runtime Environment, ...
随机推荐
- POJ 3468 A Simple Problem with Integers 【树状数组】
题目链接:id=3468">http://poj.org/problem?id=3468 题目大意:给出一组数组v[i],有两种操作,一种给出两个数a,b.要求输出v[a]到v[b]之 ...
- 【laravel54】如果开启了自带的时间戳(Y-h-m H:s:m),getInsertId一定要手动加上created_at 和 updated_at字段填充
[laravel54]如果开启了自带的时间戳(Y-h-m H:s:m),getInsertId一定要手动加上created_at 和 updated_at字段填充
- Python实现 K_Means聚类算法
使用 Python实现 K_Means聚类算法: 问题定义 聚类问题是数据挖掘的基本问题,它的本质是将n个数据对象划分为 k个聚类,以便使得所获得的聚类满足以下条件: 同一聚类中的数据对象相似度较高 ...
- iOS开发之多媒体播放
iOS开发之多媒体播放 iOS sdk中提供了很多方便的方法来播放多媒体.本文将利用这些SDK做一个demo,来讲述一下如何使用它们来播放音频文件. AudioToolbox framework 使用 ...
- 内存管理算法--Buddy伙伴算法【转】
转自:http://blog.csdn.net/orange_os/article/details/7392986 Buddy算法的优缺点: 1)尽管伙伴内存算法在内存碎片问题上已经做的相当出色,但是 ...
- 深度学习图像标注工具VGG Image Annotator (VIA)使用教程
VGG Image Annotator (VIA)是一款开源的图像标注工具,由Visual Geometry Group开发. 可以在线和离线使用,可标注矩形.圆.椭圆.多边形.点和线.标注完成后,可 ...
- 微信开发,对象转换为xml时候引用XStream这个类报错处理方案
报错的信息为:The type org.xmlpull.v1.XmlPullParser cannot be resolved. /** * 扩展XStream 支持CDATA */ privat ...
- 【Android】11.6 Fragments基本用法示例
分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 该例子演示了如何使用两个fragment创建双区域布局的activity(纵向和横向).在这个activity包含 ...
- Spring中applicationContext.xml的bean里的id和name属性区别
转自:http://www.cnblogs.com/ztf2008/archive/2009/02/11/1388003.html <beans><bean id="per ...
- Volley 解析
Volley Request处理流程 RequestQueue类中有三个基本的队列.调用RequestQueue.add(request)增加的请求会先增加mCacheQueue(优先级堵塞队列)由C ...