.cpp文件
#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;
}
上面的代码得到错误:
Error 3 error C2511: 'LinkX::LinkX(int,char *)' : overloaded member function not found in '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;
}
};
此代码出现错误:
Error 1 :error C2664: 'LinkX::LinkX(int,char)' : cannot convert parameter 2 from 'const char [7]' to 'char' Error 2 :error C2664: 'LinkX::LinkX(int,char)' : cannot convert parameter 2 from 'const char [4]' to 'char'
这些错误是什么意思?
我该如何纠正它们?
这些代码是在 visual studio 中编写的。
最佳答案
关于第一个错误,
您是否在类声明中(在您的 LinkX.h
文件中)声明了 LinkX::LinkX(int pid,char *pname)
构造函数?
关于第二个错误:
您的构造函数要求一个char*
变量,表明它需要修改它。
当您调用它时,您使用无法修改的常量 char 数组。
您的构造函数是否真的不需要修改 pname
变量,您只需将 pname
类型更改为 const char*
就可以了.
关于c++ - LinkList 代码中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33050896/