(一)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++报错集锦的更多相关文章

  1. react+typescript报错集锦<持续更新>

    typescript报错集锦 错误:Import sources within a group must be alphabetized.tslint(ordered-imports) 原因:impo ...

  2. Python ——报错集锦

    https://blog.csdn.net/weixin_42660771/article/details/80990665 错误(1):SyntaxError:'return' outside fu ...

  3. 源码安装zabbix遇到的报错集锦

    报错1:checking for mysql_config... configure: error: MySQL library not found 解决办法:查找mysql_config #find ...

  4. hexo报错集锦

    1.报错信息如下 FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubles ...

  5. python在linux的报错集锦

    1. 报错提示 /usr/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 ...

  6. javascript报错集锦

    1.JS 异常之 missing ) after argument list 错误释疑报错原因:不是字符串就输出啦

  7. vue、vuex、iview、vue-router报错集锦与爬坑记录

    1.vue报错: 没安装 less-loader css-loader style-loader      可能的很大原因:没安装less 2.vuex报错:Computed property &qu ...

  8. django2.0集成xadmin0.6报错集锦

    1.django2.0把from django.core.urlresolvers修改成了django.urls 报错如下: 1 2 3   File "D:\Envs\django-xad ...

  9. eclipse本地启动tomcat报错集锦

    1.eclipse本地添加tomcat服务器    打开Eclipse,单击“window”菜单,选择下方的“Preferences”: 找到Server下方的Runtime Environment, ...

随机推荐

  1. 【TP3.2】:日志记录和查看

    1.TP3.2手册日志类链接:http://document.thinkphp.cn/manual_3_2.html#log 2.日志默认路径:/Application/Runtime/Logs 3. ...

  2. 在win7/8下搭建简易的无线平台

    资料:http://www.cnblogs.com/KeenLeung/p/3482073.html http://www.cnblogs.com/KeenLeung/p/3481998.html 其 ...

  3. java配置使用手册

    进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置: 1.下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是 ...

  4. Python练习笔记——编写一个阶乘函数

    当输入一个数字时,函数自动计算该数的 阶乘 def factorial(num): j = 1 for i in range(1,num+1): j = j*i print(j) num = int( ...

  5. python练习笔记——分解质因数

    分解质因数:输入一个正整数,分解质因数:如输入: 90   则打印: 90 = 2 * 3 * 3 * 5 get_str = input("请输入一个100以内的正整数,以分解质因数:&q ...

  6. PLSQL_统计信息系列01_统计信息的概念和重要性

    2014-12-18 Created By BaoXinjian

  7. Python acos() 函数

    描述 acos() 返回x的反余弦弧度值. 语法 以下是 acos() 方法的语法: import math math.acos(x) 注意:acos()是不能直接访问的,需要导入 math 模块,然 ...

  8. ubuntu中pip安装redis-py及pip的使用

    安装redis-py的前提是已经将redis成功安装,redis安装过程请看博文 ubuntu14安装redis 1.安装pip sudo apt-get install python-pip 2.使 ...

  9. QWidget子窗口中setStyleSheet无效,解决方法

    继承 QWidget setStyleSheet无效,解决方法. 发现 继承自QWidget的自定义类 ,使用setStyleSheet无效, 如果删除头文件中的 Q_OBJECT,setStyleS ...

  10. [sh]uniq-sort-awk

    题目:[百度搜狐面试题] 统计url出现次数 oldboy.log http://www.etiantain.org/index.html http://www.etiantain.org/1.htm ...