首页 > 代码库 > C++编译错误cannot have cv-qualifier
C++编译错误cannot have cv-qualifier
C++编译错误cannot have cv-qualifier
在C++中CV指const和volatile两个keyword。有两种情况不能使用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= http://www.mamicode.com/1;
int main(int argc,char*argv[])
{
cout<< CStatic::get_static_value()<<endl;
return0;
}
编译会出现错误,意思是说:静态成员函数,不能有CV限定符,在C++中CV限定符指const和volatile,这儿指const。
C++编译错误cannot have cv-qualifier