.cpp file
#include "StdAfx.h"
#include "LinkX.h"
#include<iostream>
#include<string.h>
using namespace std;
LinkX::LinkX(int pid,char *pname)
{
id=pid;
strcpy(name,pname);
next=null;
}
void LinkX::displayLink()
{
cout<<id<<endl;
cout<<name<<endl;
}
上面的代码得到错误:
错误3错误C2511: 'LinkX::LinkX(int,char *)':重载成员在"LinkX"中找不到函数
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
LinkX *L1=new LinkX(10,"Charvi");
LinkX *L2=new LinkX(20,"Vin");
L1->next=L2;
delete L1;
delete L2;
}
};
下面的代码得到错误:
错误1:错误C2664: 'LinkX::LinkX(int,char)':无法转换从'const char[7]'到'char'的参数2'LinkX::LinkX(int,char)':无法从'const char '转换参数2[4]' to 'char'
这些错误是什么意思?
我如何纠正它们?
这些代码是在visual studio中编写的
关于第一个错误,
您是否在类声明中声明了LinkX::LinkX(int pid,char *pname)
构造函数(在您的LinkX.h
文件中)?
关于第二个错误:
你的构造函数要求一个char*
变量,表明它需要修改它。调用它时,使用的是常量字符数组,不能修改。如果您的构造函数不需要修改pname
变量,您只需将pname
类型更改为const char*
,就可以了。