error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12]”转换为“char *”

原本打算用一个字符串"ABCDEF12345"作为类zajiao的构造函数的参数,用来创建类zajiao的对象zajiao1。

1 zajiao zajiao1("ABCDEF12345");

结果提示:

F:\Users\denggelin\Documents\qtduojicheng\main.cpp:31: error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12]”转换为“char *”

在QT环境下,如何实现const char []转换为char *呢?

创建类zajiao的对象zajiao1上方,增加4条语句即可:

1     QString str="ABCDEF12345";//创建字符串
2
3     char* ch;//创建指针
4
5     QByteArray ba = str.toLatin1();//创建类QByteArray的对象
6
7     ch=ba.data();//赋值
8
9     zajiao zajiao1(ch);
时间: 2024-10-01 08:39:47

error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12]”转换为“char *”的相关文章

C语言执行时报错“表达式必须是可修改的左值,无法从“const char [3]”转换为“char [120]” ”,原因:字符串不能直接赋值

解决该问题的方法:使用strcpy函数进行字符串拷贝 原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 和 #include <stdio.h> 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 返回指向dest的指针. 1 // testArray.cpp :

MFC之调用DLL的问题:error C2664: “LoadLibraryW”: 不能将参数 1 从“const char *”转换为“LPCWSTR

今天在项目中遇到了一个小小的问题,在调用别人动态连接库(DLL)的时候,总是出现如下提示,导致程序无法正常运行,编程环境:VS2010+MFC 问题提示:error C2664: "LoadLibraryW": 不能将参数 1 从"const char *"转换为"LPCWSTR 经过查找资料,问题得以解决,感谢: 解决方法来源于:http://blog.sina.com.cn/s/blog_6a2236590100xbgl.html 1 静态调用Lib

error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR

MFC中给某个菜单项添加一个事件处理程序: 1.      void CMainFrame::OnTest()   2.      {   3.            MessageBox("you clicked Menu item.");   4.            // TODO: 在此添加命令处理程序代码    5.      }   编译时报告如下错误:error C2664: "CWnd::MessageBoxW": 不能将参数 1 从"c

error C2664: “MessageBoxW”: 不能将参数 2 从“const char [14]”转换为“LPCWSTR”

vs2008提示 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” 在外面用vs2005编写mfc程序的时候经常要MessageBox("提示信息")函数,在vc6.0是没有问题的,但是在vs2005却会有下面的提示: error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” 这个错误提示的原因是VS20

error C2665: “operator new” : 5个重载中没有一个可以转换参数1(从“const char [71]”类型)

error C2665: "operator new" : 5个重载中没有一个可以转换参数1(从"const char [71]"类型) 这个错误是怎么回事啊,搜索了整个项目好像没有可疑的new操作阿.这个错误是在将两个工程合并成一个过程中产生的.合并前没有这样的错误. MainFrm.cpp d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xmemory(34) : error C266

error C2664: “FindFirstFileW”: 不能将参数 1 从“char [261]”转换为“LPCWSTR” 解决

在写Tracking的代码的时候遇到这样的问题: error C2664: "FindFirstFileW": 不能将参数 1 从"char [261]"转换为"LPCWSTR". 这个代码是读入一个文件夹里面所有的图片的文件名.因为在TLD, CT算法里面都是会遇到的.会遇到这样的错误. 解决的方式是:选中项目属性-->配置属性-->常规-->字符集,就字符集选为"使用多字节字符集"即可编译通过. 希望可以

error C2664: “CreateFileW”: 不能将参数 1 从“char *”转换为“LPCWSTR”

错误 1 error C2664: “CreateFileW”: 不能将参数 1 从“char [7]”转换为“LPCWSTR” e:/mystudy/09/myvirtualdisk11/myvirtualdiskdll/diskdll.cpp 112 错误 2 error C2664: “DefineDosDeviceW”: 不能将参数 2 从“char *__w64 ”转换为“LPCWSTR” e:/mystudy/09/myvirtualdisk11/myvirtualdiskdll/d

不能将参数 2 从“const char *”转换为“LPCWSTR”

不能将参数 2 从“const char *”转换为“LPCWSTR” 2013-06-05 17:18 阅读(309)评论(0)编辑删除 error C2664: “LoadImageW”: 不能将参数 2 从“const char *”转换为“LPCWSTR” 解决办法:将Project的属性里头的 字符集使用Unicode改成“未设置”. 属性->配置属性->常规->项目默认值->字符集->Unicode改成“未设置”.

int sprintf_s(char *,size_t,const char *,...)”: 不能将参数 2 从“const char [3]”转换为“size_t”

2014-03-02 20:14 在编译下列代码时,出现以下错误: cpp(23) : error C2664: “int sprintf_s(char *,size_t,const char *,...)”: 不能将参数 2 从“const char [3]”转换为“size_t” 请问这是什么意思?该怎么修改? #include<iostream> #include<string> #include<stdio.h> using namespace std; str