首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++出现没有可调用的构造函数有关问题

2012-03-23 
C++出现没有可调用的构造函数问题参照课本来写的啊//11.h#includeiostreamusing namespace stdclass Su

C++出现没有可调用的构造函数问题
参照课本来写的啊


//11.h
#include<iostream>
using namespace std;
class Subjects 
{
public:
string stuName;//课程名称
double stuScore;//成绩
  Subjects *next;
Subjects(const string &, Subjects* );
Subjects(Subjects* ); 
  //获取课程名称
  string getName();
//获取课程成绩
  double getScore();
};

//11.cpp
#pragma once
#include"11.h"
#include<string>
Subjects::Subjects(const string &StuName, Subjects*nextval=NULL )
  {
stuName = StuName;
next = nextval;
stuScore = 0;
}
Subjects::Subjects(Subjects* nextval = NULL) 
{
next = nextval;
}

//获取课程名称
string Subjects::getName()
{
return stuName;
}

//获取课程成绩
double Subjects:: getScore()
{
return stuScore;
}
//22.h
#pragma once
#include"11.h"
//单向链表,存储所有课程信息
class SubjectLists
{
private:
Subjects* head;//链表头
Subjects* tail;//链表尾
Subjects* fence;//当前结点
int leftcnt;//左结点数
int rightcnt;//右结点数

//初始化
void init();
};
//22.cpp
#pragma once
#include"11.h"
#include"22.h"
#include<string>
//初始化
void SubjectLists:: init(){
fence = tail = head = new Subjects;
leftcnt = rightcnt = 0;
}




错误1error C2512: “Subjects”: 没有合适的默认构造函数可用



[解决办法]

C/C++ code
Subjects(Subjects*);    //====>Subjects(Subjects* nextval = NULL) Subjects:: Subjects(Subjects* nextval = NULL)  {    next = nextval;}改为Subjects:: Subjects(Subjects* nextval)  {    next = nextval;} 

热点排行