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。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券