non-member function cannot have cv-qualifier
Q: non-member function unsigned int abs(const T&) cannot have cv-qualifier. template<typename T>
inline unsigned int abs(const T& t) const
{
return t>?t:-t;
} ans: The ending const specifies that you will not modify any member variables of a class belongs to.
Free functions (and class static functions) don't have a this pointer.
在C++中CV指const和volatile—
1、非成员函数不能有CV限定,友元函数不是类的成员函数声明友元函数不能用const限定。
2、静态成员函数不能有CV限定
情况一、在C++中,非成员函数不能含有CV限定,即const和volatile限定
#include <iostream>
using namespace std;
double getArea() const
{
return 0.0;
}
double getVolume() const
{
return 0.0;
}
int main(int arg,char *argv[])
{
cout << getArea() << endl;
cout << getVolume() << endl;
return 0;
}
编译产生错误:

意思是:
非成员函数不能有cv 限定符,cv 限定符 c++有两个:const 和 volatile,这儿指const 。
情况二、在C++中,静态成员函数不能有CV限定,即const和volatile限定
头文件static_cpp.h
#ifndef __STATIC_H
#define __STATIC_H
class CStatic
{
private:
static int static_value;
public:
static int get_static_value() const; //当不是static方法时,可以用const进行限定。
};
#endif
源文件staitc_cpp.cpp
#include "static_cpp.h"
int CStatic::get_static_value() const
{
return static_value;
}
在main.cpp中
#include "static_cpp.h"
#include <iostream>
using namespace std;
int CStatic::static_value = 1;
int main(int argc,char *argv[])
{
cout << CStatic::get_static_value()<<endl;
return 0;
}
编译出现的错误:

意思是:
静态成员函数,不能有CV限定符,在C++中CV限定符指const和volatile,这儿指const。
情况三:
#include<iostream>
#include<string>
using namespace std;
class Animal{
public:
friend void showRes(Animal &ref)const;//这行编译器会给错误non-member function ‘void showRes(Animal&)’ cannot have cv-qualifier
friend void showRes(Animal &ref)const;
private:
int age;
string name;
};
void showRes(Animal &ref){
ref.age=15;
ref.name="panda";
cout << ref.age << ref.name << endl;
}
non-member function cannot have cv-qualifier的更多相关文章
- Thinkphp---------Call to a member function free_result() on a non-object
1.平时用框架用久了,直接执行原生的sql反而做起来反应迟钝了.今天遇到一个问题,就是直接执行一个添加的sql语句,然后我用了TP框架的M()->query();方法.运行以后,会报Call t ...
- :( Call to a member function Table() on a non-object 错误位置
:( Call to a member function Table() on a non-object 错误位置 $Model不是模板,是你自己先前链接数据库返回的对象...我的是改为$Form
- Fatal error: Call to a member function bind_param() on a non-object in
今天在练习 mysql是出现错误: Fatal error: Call to a member function bind_param() on a non-object in 解决步骤: 1. ...
- ECmall错误:Call to a member function get_users_count() on a non-object
问题描述: 在后台添加了一个app报错:Call to a member function get_users_count()Fatal error: Call to a member functio ...
- magento后台 Fatal error: Call to a member function getId() on a non-object in错误
后台分类管理出现错误 Fatal error: Call to a member function getId() on a non-object in 在数据库中运行以下sql语句 INSERT I ...
- Function语义学之member function
之前我们讲过编译器会对 nonmember functions 进行怎样的扩充和该写,今天我们来讲一下 member functions 函数调用方式 一.Nonstatic Member Funct ...
- Timer.4 - Using a member function as a handler
In this tutorial we will see how to use a class member function as a callback handler. The program s ...
- C++ - 模板类模板成员函数(member function template)隐式处理(implicit)变化
模板类模板成员函数(member function template)隐式处理(implicit)变化 本文地址: http://blog.csdn.net/caroline_wendy/articl ...
- About The Order of The Declarations And Definition When Making a Member Function a Friend.关于使类成员成为另一个类友元函数的声明顺序和定义。
If only member function clear of WindowMgr is a friend of Screen, there are some points need to note ...
- About Why Inline Member Function Should Defined in The Header File
About why inline member function should defined in the header file. It is legal to specify inline on ...
随机推荐
- 网易2018.03.27算法岗,三道编程题100%样例AC题解
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/8660814.html特别不喜欢那些随便转载别人的原创文章又不给 ...
- Flask、Celery、RabbitMQ学习计划
Flask (9.16-9.23) 相关组件了解 (9.16-17) WSGI:Werkzeug 数据库:SQLAlchemy *重点查看 urls和视图 (9.18-19) session和co ...
- Scrum Meeting 9
第九次会议 No_00:工作情况 No_01:任务说明 待完成 已完成 No_10:燃尽图 No_11:照片记录 待更新 No_100:代码/文档签入记录 No_101:出席表 ...
- Timer定时执行
//定时器 public void timeTask(String hh,int n) {//hh="8:30:00",n=12 Timer timer = new Timer() ...
- 每天学习SQL
SELECT table_name FROM information_schema.tables WHERE table_schema='survey170227_main' AND table_na ...
- Spring Boot features - Profiles
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html https://w ...
- 产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗?
什么是密钥管理服务 (KMS)? 密钥管理服务 (KMS) 允许在本地网络上激活产品.这样,单台计算机不必连接至 Microsoft 便可激活产品.需要将一台计算机配置为 KMS 主机.管理员必须为 ...
- SQLSERVER 备份数据库的注意事项
1. SQLSERVER 有一个压缩备份集的功能,能够实现大概15%的压缩比(跟数据类型不同而不同) 之前竟然没发现...浪费了好多磁盘资源.. 多学习多思考..
- Linux下OSG的编译和安装以及遇到的问题
(第一段日常扯蛋,大家不要看)由于我们教研室所做的RTMapper要用到GDAL,所以就打算看osgearth的源码来熟悉下GDAL库的使用,同时也了解下osgearth中关于带有高程的图像拼接.然而 ...
- python逻辑回归 自动建模
#-*- coding: utf-8 -*- #逻辑回归 自动建模 import numpy as np import pandas as pd from sklearn.linear_model i ...