vc6编译器-No copy constructor available for class怎么解决呢

问题描述

No copy constructor available for class怎么解决呢
 struct stuFileData
{
    CString csIndex;
    CString csTime;
    CString csFunction;
    CString csLen;
    CString csData;
    CString csOneLine;

    //0为Normal
    //1000为随机cmd
    //1001为连接手机中断
    int     CmdFlag;    

    stuFileData(CString csTmp)
    {
        if (csTmp.GetLength()>66)
        {
            //略
        }
        else
        {
            //略
        }
    }
    stuFileData()
    {
            //略
    }

    stuFileData(const stuFileData &p)
    {

        csIndex = p.csIndex;
        csTime  = p.csTime;
        csFunction = p.csFunction;
        csLen = p.csLen;
        csData = p.csData;
        csOneLine = p.csOneLine;
        CmdFlag =  p.CmdFlag;
    }
}; 

typedef  CArray<stuFileData, stuFileData> DataPacketCArray;

DataPacketCArray b;
//初始化b,这里不写了

DataPacketCArray a=b;

最后这个时,报

 No copy constructor available for class 'CArray<struct stuFileData,struct stuFileData>'

怎么解决呢

解决方案

说的很清楚,定义一个拷贝构造函数
public: stuBushFileData(stuBushFileData & data)
{
... //在这里赋值
}

解决方案二:

no copy constructor available引发了一系列疑问

解决方案三:

无拷贝构造函数,楼上已说

解决方案四:

你的 Carray 在哪里定义的???

template
class CArray
{
//略
};
typedef CArray DataPacketCArray;

解决方案五:

不是拷贝构造的问题,你有写

时间: 2024-08-02 22:11:40

vc6编译器-No copy constructor available for class怎么解决呢的相关文章

VC6.0不能在win8系统中运行的解决方法

VC6.0是一款经典的编程软件,至今还有不少的用户使用它,而一些用户发现在Win8.1正式版系统中并不能运行VC6.0,而是出现出现停止工作的提示,这里我们了解到VC6.0已经是一款比较老的软件了,而在最新的win8.1系统www.xitonghe.com/win8/中存在一定的兼容性问题,不过下面的方法能让你的Win8.1完美运行VC6.0软件,有需要的朋友不妨看看. 解决Win8.1正式版无法运行VC6.0的具体操作步骤 1.首先找到vc的目录,找到文件"MSDEV.EXE"大家可

C++对象模型(二):The Semantics of Copy Constructors(拷贝构造函数之编译背后的行为)

本文是 Inside The C++ Object Model's Chapter 2  的部分读书笔记. 有三种情况,需要拷贝构造函数: 1)object直接为另外一个object的初始值 2)object作为函数以值传递的参数 3) object以函数返回值形式返回 如果class没有提供一个explicit copy constructor时,编译器会以default memberwise initialization,也就是把每一个内建的或者派生的data member的值,从某个obj

DataFrame constructor not properly called!

问题描述 DataFrame constructor not properly called! main() File "F:/05paper/graduation paper/Gmm/expertInstitution.py", line 24, in main scholarInstition() File "F:/05paper/graduation paper/Gmm/expertInstitution.py", line 18, in scholarIns

c++-关于C++字符串流程序在vc6和vs2005下运行不一致问题,求大神给解释!!!

问题描述 关于C++字符串流程序在vc6和vs2005下运行不一致问题,求大神给解释!!! string input; cin>>input; int len = 0; string strtmp; istringstream strstream(input); strstream>>len>>strtmp; 以上程序在vc6和vs2005运行不一致,不知道是小弟机器原因还是什么问题,很困惑,同样的程序怎么运行不一样呢, 难道是vc6编译器和vs2005编译器差别???

眼见为实(1):C++基本概念在编译器中的实现

眼见为实(1):C++基本概念在编译器中的实现 对于C++对象模型,相信很多程序员都耳熟能详. 本文试图通过一个简单的例子演示一些C++基本概念在编译器中的实现,以期达到眼见为实的效果. 本文的演示程序(http://www.fmddlmyy.cn/cpptest.zip)可以从我的个人主页下载.程序包中包含用VC6.VC7.BCB.Dev-C++和MinGW建立的项目.下文中的打印输出和汇编代码主要引自VC6环境. 1 对象空间和虚函数 1.1 对象空间 在我们为对象分配一块空间时,例如: C

VC6.0常见链接错误与解决方法

这篇文章主要介绍了VC6.0开发中一些常见链接错误的解决方法,需要的朋友可以参考下   (1)error LNK2001: unresolved external symbol _main 编号:LNK2001 直译:未解决的外部符号:_main. 错误分析:缺少main函数.看看main的拼写或大小写是否正确. (2)error LNK2005: _main already defined in xxxx.obj 编号:LNK2005 直译:_main已经存在于xxxx.obj中了. 错误分析

vc6 0 编译-VC6.0编译问题“link: invalid option -- l”

问题描述 VC6.0编译问题"link: invalid option -- l" VC6.0编译出现以下问题,急问如何解决? Creating library... link: invalid option -- l Try `link --help' for more information. Error executing link.exe. msModule.dll - 1 error(s), 0 warning(s) 解决方案 工程编译选项不正确,查看工程配置

win7下vc6.0的安装

在win下用C++编程,很多新手都用VC6.0.winxp下的安装应该说问题是比较少的,win7下则有些小问题需解决.本人从网上找到些文章作为参考,加上自己的安装经验,总结了win7下VC6.0的安装步骤.1.下载VC6.0完整版(绿色版显然功能不全,bug多多),地址:http://hi.baidu.com/jsj082.解压缩,双击setup.exe,安装方式选择custom而不是typical,Custom自定义安装里,点中Tools组件,更改选项,把其中的 OLE/Com Object

C++中要求(或禁止)对象产生于heap中

要求对象产生于Heap之中 考虑如下代码: classHeapClass{ public: voidDestory() const {deletethis;} private: ~HeapClass(){}};HeapClass* ptr = newHeapClass;ptr->Destory(); 这样的调用真是很厉害,想生成非Heap对象都不成了. 对于继承和组合的情况不想多说了,比较无趣的说. 判断某个对象是否位于Heap内 考虑如下代码: newHeapClass(* newHeapCl