Error3error C2558: class 'HuffmanCode' : no copy constructor available or copy constructor is declared 'explicit'd:/microsoft visual studio 8/vc/include/utility37
今天发现了这个错误,发现报错的地方是
pair(const _Ty1& _Val1, const _Ty2& _Val2)
: first(_Val1), second(_Val2)
{// construct from specified values
}
但这里是std_utility里,这里根本不可能是编译器的错误。
那哪里写错了?根据提示估计是'HuffmanCode' 的拷贝构造函数错误。然后检查了下:
explicit HuffmanCode(HuffmanCode & codes):b(codes.b)
感觉没有错呀。然后试着去掉了explicit 关键字,发现..还是报相同的错误。
然后仔细看了下pair(const _Ty1& _Val1, const _Ty2& _Val2),然后 second(_Val2),这里我使用了<map>然后将HuffmanCode作为value而不是作为key。这里看出在成员列表中 second(_Val2)是cosnt的。
这就使得copy construct函数也必须使用const的参数..
所以更改了下
explicit HuffmanCode(const HuffmanCode & codes):b(codes.b)
现在终于渐渐的知道为啥拷贝构造函数其参数是const的了。
修改完毕后在其他函数里写了这样一句代码
HuffmanCode hc = Encode(....);
这里Encode的返回值是Huffman.结果系统编译时提示相同的错误。
explicit HuffmanCode(const HuffmanCode & codes):b(codes.b)是这里的错误。
因为写了explicit,所以返回值必须是const Huffman&才可以.所以还是把explicit关键字去掉了。
分享到:
相关推荐
alert(c.constructor === Array)`将返回`true`,表明`c`是由`Array`构造函数创建的。 然而,这种方法在处理类继承时可能会出现问题。当一个子类继承自父类时,子类实例的`constructor`属性默认会指向父类的构造...
在C++编程语言中,复制构造函数(Copy Constructor)和赋值运算符(Assignment Operator)是两个非常关键的概念,特别是在处理对象的拷贝和赋值时。它们默认由编译器提供,但通常需要根据具体需求进行自定义,以确保正确...
boa-constructor是一款基于Python语言,使用wxPython库构建图形用户界面(GUI)的应用程序开发工具。它为非专业程序员提供了一种直观、易用的可视化界面来设计和编写GUI程序,降低了开发复杂度,尤其适合初学者入门...
bfs.cpp:11:15: error: expected constructor, destructor, or type conversion before ‘(’ token __declspec(dllexport) windows到linux的转换: windows下: #include #include #include #include using ...
Copy Control 涉及到对象复制和赋值操作时的行为控制,包括拷贝构造函数(Copy Constructor)、赋值运算符(Assignment Operator)以及移动语义(Move Semantics)。这个英文教学课件"08 Copy Control.ppt"主要讲解...
$ npm install is-error-constructor 用法 import isErrorConstructor from 'is-error-constructor' ; isErrorConstructor ( Error ) ; //=> true isErrorConstructor ( RangeError ) ; //=> true function ...
根据提供的文件信息,我们可以深入探讨有关“WordPress主题:Constructor”的相关知识点。首先,从标题可以看出,这是一款专门针对WordPress平台的主题。WordPress是一个非常流行的开源内容管理系统(CMS),它支持...
"boa-constructor-0.6.1 for Python2.5" 是一个专为Python 2.5版本设计的集成开发环境(IDE),主要用于图形化构建应用程序的用户界面(UI)。Boa Constructor是一款开源软件,它提供了对Python程序员来说非常友好的...
CreateInstanceFromType is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject '...
\windows\tensorflow\core\framework\op_kernel.cc:993] Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for params_cifar.ckpt 在Windows下要把目录写对才可以。 ...
我们可以重写Error对象的constructor属性来创建特定的错误类型。 重写constructor属性时需要特别小心,因为它可能会影响到对象的原型链和继承关系。如果为对象手动设置一个错误的constructor属性,可能会导致对象...
Java 反射之 Constructor Java 反射机制中的 Constructor 类提供了关于类的单个构造方法的信息,包括对它的访问权限、Class 获取构造函数的方式等。下面将详细讲解 Constructor 类的概述、获取构造函数的方式、构造...
(One exception is if an argument Foo or const Foo& has a non-explicit, one-argument constructor, in which case we need the full definition to support automatic type conversion.) We can declare ...
This is simple watchface constructor demo. It offers customization of the following features: Background colors and images Watch hands Placement of watch hands Ambient mode How it works? Pull ...
eslint-plugin-no-constructor-bind 优先使用类属性,而不要使用类的构造函数方法中的等效设置步骤。 // Bad: class User { constructor ( ) { this . greet = this . greet . bind ( this ) } greet ( ) { ...
在标题"boa.rar_Boa_Construct_boa_boa constructor_boa constructor chm_bo"中,我们可以看到关键词"Boa Constructor"和"boa constructor chm",这表明压缩包可能包含了Boa Constructor的安装文件或文档,如CHM...
JavaScript constructor 属性在类型检查中的应用 在 JavaScript 中,constructor 属性是一种非常有用的工具,可以帮助我们检查变量的类型。Constructor 属性可以帮助我们解决 typeof 函数无法解决的问题,即无法...
这是一个包含 70 多个模块预制件的 Unity 资源包,用于构建多样化的战斗机甲。 功能或主要特征: 模块化设计,易于组装。 多边形数量从 2.3k 到 4.2k。 提供手绘 4k 漫反射图集和 PBR 贴图。 所有机甲具备仿人形化身...
### JavaScript中的`new`操作与`constructor`属性详解 #### 一、`new`操作符的理解 在JavaScript中,`new`操作符被用于创建一个由构造函数定义的新实例对象。当使用`new`关键字调用一个构造函数时,会执行以下步骤...