请教一个有关赋值运算符重载的问题!!
#include <string.h>
class CDemo
{
public:
CDemo& operator=(CDemo &a)
{
if(ps)delete[] ps;
if(a.ps){
ps=new char[strlen(a.ps)+1];
strcpy(ps,a.ps);
}else ps=0;
return *this;
}
private:
char *ps;
};
void main()
{
CDemo d1("key"),d2("Mouse");
d1=d2;
d1.print();
}
--------------------------
编译时出现以下错误,这是什么原因啊,谢谢!!
--------------------Configuration: 赋值运算符的重载 - Win32 Debug--------------------
Compiling...
赋值运算符的重载.cpp
E:\赋值运算符的重载\赋值运算符的重载.cpp(25) : error C2664: '__thiscall CDemo::CDemo(const class CDemo &)' : cannot convert parameter 1 from 'char [4]' to 'const class CDemo &'
Reason: cannot convert from 'char [4]' to 'const class CDemo'
No constructor could take the source type, or constructor overload resolution was ambiguous
E:\赋值运算符的重载\赋值运算符的重载.cpp(25) : error C2664: '__thiscall CDemo::CDemo(const class CDemo &)' : cannot convert parameter 1 from 'char [6]' to 'const class CDemo &'
Reason: cannot convert from 'char [6]' to 'const class CDemo'
No constructor could take the source type, or constructor overload resolution was ambiguous
执行 cl.exe 时出错.
赋值运算符的重载.exe - 1 error(s), 0 warning(s)
相关推荐
基于SSM框架的在线电影订票系统设计方案与实现-可实现的-有问题请联系博主,博主会第一时间回复!!!
内容概要:本文档介绍了一个基于SSM框架(Spring、Struts、MyBatis)搭建的在线电影订票系统的完整设计方案。涵盖技术选型、模块划分和功能设计等方面。使用了Maven作为项目构建工具,并配置Tomcat为服务器环境。前端交互采用了Ajax异步请求技术和Servlet后端处理技术,数据库采用MySQL 8存储各类数据。具体功能涵盖了用户模块(注册/登录)、电影浏览及详情查看、订单创建与支付(支持模拟或真实第三方支付接口接入)、个人中心管理和后台管理等多个模块。同时提供了详细的数据库设计,以支撑各项业务流程。 适用人群:适用于具有一定Java Web开发经验的研发工程师或团队。 使用场景及目标:该文档不仅为开发者提供了全面的技术指导和支持,帮助其理解和掌握在线购票系统的各个组成部分及其运行机制,还能辅助项目管理者快速评估此类项目的复杂度和技术难点。 其他说明:此系统旨在提供一站式解决方案来满足现代影院票务系统的实际应用需求,从架构设计、技术选型到详细实现,文档均进行了详尽的介绍。对于想要深入研究电商或订票平台核心技术栈的学习者来说是一份宝贵资料。 -可实现的-有问题请联系博主
ssm241航班订票管理系统+jsp(文档+源码)_kaic.doc
计算机毕业设计
Linux 部署 Spring Boot 项目, Web项目(2025版)
主要介绍:在 Linux 系统中配置运行Java 程序所需要的配置环境,如JDK,MySQL,Tomcat 等,之后,将你的 Spring Boot 项目使用 Maven 工具打包成 jar包,丢到 Linux 系统中,运行即可。本文项目版本使用:Windows 11,jdk-21,IntelliJ IDEA 2024.3.4.1,mysql-8.0, Navicat Premium 17本文使用的项目源码,见文章最上方。
打包maven项目部署linux
Maven 项目的打包部署 实践环境 操作系统: Windows7 IDE: Eclipse 打包部署过程 1 先项目打包war 右键项目,点击如图所示 Maven clean,这里 Maven 会清楚掉之前对这个项目所有的打包信息。 进行完 Maven clean 操作后,在eclipse的控制台会出现以下的信息。 重新右键所需打包的项目,点击如图所示 Maven...
Linux系统发布项目完整教程
1.后端代码打包 1.1后端代码中文件上传路径修改 说明:Linux发布项目,我们需要将前后端项目打包,并添加到Linux系统,这里以springBoot+maven+ssm的项目为例.如果我们有文件上传的功能,首先规定好文件在Linux系统中的存放路径,如我的windows系统的文件存放的路径是: private String localDir = "F:/images"; Linux系统文件存放的路径为: private String localDir = "/usr/local.


