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。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。