C++编译错误cannot have cv-qualifier

时间:2022-04-25
本文章向大家介绍C++编译错误cannot have cv-qualifier,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

C++编译错误cannot have cv-qualifier

在C++中CV指const和volatile两个关键字。有两种情况不能使用CV限定。

一、非成员函数不能含有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 限定符有两个:const 和 volatile,这儿指const。

二、静态成员函数不能有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;
};
#endif
源文件staitc_cpp.cpp
#include"static_cpp.h"
intCStatic::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;
  return0;
}

编译会出现错误,意思是说:静态成员函数,不能有CV限定符,在C++中CV限定符指const和volatile,这儿指const。