原文:C++ 调试问题:对象包含与成员函数不兼容的类型限定符

今天调试C 自定义String代码的时候,碰到一个问题,编译期报错:对象包含与成员函数不兼容的类型限定符。 先看代码: MSVC 编译器报错信息: E 对象含有与成员 函数 String::size 不兼容的类型限定符 E 对象含有与成员 函数 String::c str 不兼容的类型限定符 问题出在哪里 问题似乎出在operator 中调用了String::size和String::c str。 ...

2021-11-13 17:02 0 798 推荐指数:

查看详情

C++对象包含成员函数兼容类型限定符

今天在写代码的时候碰到一个const的使用问题,大致如下所示: 参考了小伙伴的文章 总结了一下这种类型的错误,参照大家的博客,可以发现这种解释为:1)const对象只能调用const函数;2)如果const函数中不小心修改了类成员或者调用了非常量函数,编译器会找出这类错误。 参考的文章 ...

Thu Dec 03 01:24:00 CST 2020 0 738
C++声明之CV限定符

目录 1.const 1.1 const obj 如果调用 non-const member fun会编译出错 经典错误 1.2 例子:STD里的操作重载 1.3 例子:《cpp primer》15节 -基类的定义 1.const class complex { public ...

Wed Feb 27 04:28:00 CST 2019 0 623
c++对象和常成员函数详解

num; 需要特别说明的是: 1. 常对象只能调用常成员函数,不能调用普通成员函数 (除了隐式调 ...

Sun Jul 16 05:52:00 CST 2017 0 1477
C++说明限定符

有些被称为存储说明(storage class specifier)或cv-限定符(cv-qualifier)的C++关键字提供了一些有关存储的信息。下面是存储所说明:* auto (在C++11中不再是说明);* register;* static;* extern ...

Sat Jul 09 03:40:00 CST 2016 0 2178
C++成员函数、常数据成员、常对象

成员函数在声明和实现时都要带 const 关键字 常成员函数不能修改对象的数据成员,也不能访问类中没有用 const 声明的非常成员函数。 在任何函数中都不能对常数据成员赋值。对常数据成员初始化,只能通过构造函数的初始化列表。 常对象的数据成员在它的生存期内不会被改变,因此定义常对象时 ...

Mon Mar 30 23:38:00 CST 2020 0 699
C++(三十二) — 常对象、常成员变量、常成员函数

  常量:对于既需要共享、又需要防止改变的数据。在程序运行期间不可改变。   const 修饰的是对象中的 this 指针。所以不能被修改。   this指针存在于类的成员函数中,指向被调用函数所在的类实例的地址。 1、常对象   数据成员值在对象的整个生存期内不能改变。在定义时 ...

Fri Jan 04 18:31:00 CST 2019 0 1377
C++运算重载(成员函数方式)

一、运算重载 C++中预定义的运算的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。如果将C++中这些现存的运算直接作用于用户自定义的类型数据上,会得到什么样的结果呢?编译器无法给出正常的结果,因为我们需要运算重载,给运算赋予多重含义,使同一个运算 ...

Sat Jul 11 05:26:00 CST 2015 0 3551
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM