首页 > 代码库 > C++编译错误cannot have cv-qualifier

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

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

C++CVconstvolatile两个keyword。有两种情况不能使用CV限定。

一、非成员函数不能含有CV限定,即constvolatile限定

#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限定,即constvolatile限定。

头文件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限定符指constvolatile,这儿指const

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