标题:
Visual c++游戏开发案例实战这一书中,有个问题想问一问。
[打印本页]
作者:
hlz6330108
时间:
2018-6-11 10:35
标题:
Visual c++游戏开发案例实战这一书中,有个问题想问一问。
在这一书中,82页的代码3.19中,出现很多错误。
#include <iostream>
#include <cstring> //字符数组的函数定义的头文件,在使用到字符数组时需要使用。
using namespace std;
class CString //声明CString类
{
public:
CString(); //默认构造函数
CString(char *pStr);
char *getStr();
CString operator + (CString &t); //重载操作符+
private:
char str[128];
};
CString::CString() //初始化默认构造函数
{
str[0] = '\0';
}
CString::CString(char *pStr) //带参数的构造函数
{
strcpy(str, pStr);
}
char *CString::getStr()
{
return str;
}
CString CString::operator + (CString &t) //操作符重载的实现
{
CString tmp;
strcat(str, t.str); //把当前对象的字符串和参数的字符相加
strcat(tmp.str, str);
return tmp; //返回临时对象
}
void main()
{
CString str1("this is ");
CString str2("operator overload!");
CString str3;
str3 = str1 + str2; //调用重载后的操作符“+”,实现字符串相加
cout << str3.getStr() << endl;
}
代码如上,出错的地方有后面的
CString str1("this is ");
CString str2("operator overload!");
这二行,请教一下为什么会出错,如何改正。
代码在Microsoft visual studio 2017版写的
作者:
fwbook
时间:
2018-6-12 09:06
建议发完整的错误信息。
作者:
hlz6330108
时间:
2018-6-13 09:49
错误(活动) E0289 没有与参数列表匹配的构造函数 "CString::CString" 实例
错误(活动) E0289 没有与参数列表匹配的构造函数 "CString::CString" 实例
错误 C2664 “CString::CString(CString &&)”: 无法将参数 1 从“const char [9]”转换为“char *”
错误 C2664 “CString::CString(CString &&)”: 无法将参数 1 从“const char [19]”转换为“char *”
这个是出错信息。请帮看看是为什么错
作者:
fwbook
时间:
2018-6-14 08:54
看提示,是类型不一致。
作者:
hlz6330108
时间:
2018-6-14 15:55
回复
4#
fwbook
怎么样修改代码?
请教一下,想不明白了。
欢迎光临 万卷图书 (http://wanjuanchina.net/)
Powered by Discuz! 7.0.0