C++编程常见错误—cannot have cv-qualifier//不能有CV限定

原创 2015年11月19日 22:24:44

在C++中CV指const和volatile—

1、非成员函数不能有CV限定,友元函数不是类的成员函数声明友元函数不能用const限定。

       friend voin fun(classname &ref)const;//编译器会给错误error: non-member function ‘xxxxxxxxx’ cannot have cv-qualifier

2、静态成员函数不能有CV限定

情况一、在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。

情况三:

#include<iostream>

 #include<string>

  
   using namespace std;
  
   class Animal{
     public:
     
    friend void showRes(Animal &ref)const;//这行编译器会给错误non-member function ‘void showRes(Animal&)’ cannot have cv-qualifier 
   friend void showRes(Animal &ref)const;
    private:
     int age;
     string name;
  };
 
  void showRes(Animal &ref){
    ref.age=15;
    ref.name="panda";
    cout << ref.age << ref.name << endl;
  }
  

C++编程常见错误分类与解析

  • 2010年08月16日 20:21
  • 128KB
  • 下载

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

C++编译错误cannot have cv-qualifier 在C++中CV指const和volatile两个关键字。有两种情况不能使用CV限定。 一、非成员函数不能含有CV限定,即...
  • jiangxinnju
  • jiangxinnju
  • 2014年07月31日 19:30
  • 1343

non-member function cannot have cv-qualifier

今天写c++程序是第一次遇见这个compilation error: non-member function cannot have cv-qualifier 在网上resea...
  • lovelytigerphd
  • lovelytigerphd
  • 2012年08月05日 22:12
  • 2716

opencv中imread这个函数不能正确读入图片的解决

通常我们为了简单起见,是把所有的库(.lib)包括debug、release两个版本同时加载的。这样的话象下面的代码是可以正常工作的: [cpp] view plaincop...
  • lien0906
  • lien0906
  • 2015年01月13日 09:36
  • 5687

OpenCV3.0下 cvCvtColor函数灰度化图像遇到问题及解决办法

灰度图像在1.0下我们可以这么写: int main(int argc, char* argv[]) { IplImage* src = cvLoadImage("lampard.jpg",1);...
  • songzige
  • songzige
  • 2015年03月16日 20:37
  • 3221

关于Mat和using namespace cv的使用理解(一)

参考:http://blog.sina.com.cn/s/blog_74f32c400101a1ah.html 参考文档:OpenCV中Mat的详解 之前一直再用IplImage类型,昨天...
  • xumi13
  • xumi13
  • 2016年10月05日 10:11
  • 6161

C++编程常见错误之-类中的常量

1.const与#define的比较两点: 1.cosnt常量有数据类型,而宏常量没有数据类型,编译器可以对前者进行静态数据类型安全检查,而对后者只进行字符替换,没有安全检查,并且会在字符替换时可能...
  • lizhidefengzi
  • lizhidefengzi
  • 2017年04月04日 15:36
  • 316

C++编程常见错误整理

C++编程常见错误整理                       最近,我在阅读《C++ Primer》,经常看到里面提到一些错误类型,像“编译错误”、“运行错误”等。于是,我对C++中的错...
  • lovelove5
  • lovelove5
  • 2012年02月21日 21:13
  • 483

C++编程常见错误分类与解析

  • 2010年08月16日 20:21
  • 128KB
  • 下载

cv::CascadeClassifier类在多次读取新版本xml模型时的错误及其修正

cv::CascadeClassifier类在多次读取新版本xml模型时的错误及其修正 (2012-04-25 14:57:08) 转载▼ 标签:  opencv ...
  • lzb863
  • lzb863
  • 2015年02月17日 14:31
  • 957
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++编程常见错误—cannot have cv-qualifier//不能有CV限定
举报原因:
原因补充:

(最多只允许输入30个字)