现在的位置: 首页 > 综合 > 正文

C++编程常见错误—cannot have cv-qualifier//不能有CV限定,在C++中CV指const和volatile—1、非成员函数不能有CV限定,2、静态成员函数不能有CV限定

2018年03月20日 ⁄ 综合 ⁄ 共 967字 ⁄ 字号 评论关闭

http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201132564041489/

 

情况一、在C++中,非成员函数不能含有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;
}

编译产生错误:

C++编程常见错误—cannot have cv-qualifier//不能有CV限定,在C++中CV指const和volatile - 无影 - 激情、专注、坚持、思考

 意思是:

非成员函数不能有cv 限定符,cv 限定符 c++有两个:const 和 volatile,这儿指const  。

 

情况二、在C++中,静态成员函数不能有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
;          //当不是static方法时,可以用const进行限定。
};

#endif

源文件staitc_cpp.cpp

#include "static_cpp.h"

int CStatic::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;
    return 0;
}

编译出现的错误:

C++编程常见错误—cannot have cv-qualifier//不能有CV限定,在C++中CV指const和volatile - 无影 - 激情、专注、坚持、思考

 意思是:

静态成员函数,不能有CV限定符,在C++中CV限定符指const和volatile,这儿指const。

 

 

 

【上篇】
【下篇】

抱歉!评论已关闭.