关于类成员函数定义的有关问题
关于类成员函数定义的问题
class admin
{
private:
typedef struct tagallsubjects
{ char subject[100];
unsigned int ID;
struct tagallsubjects *next;
}allsubjects;
allsubjects *head_allsubjects,*p_allsubjects,*tail_allsubjects; //建立类内的全局指针
public:
admin();
~admin();
void showallsubjects(); //查看当前设置的全部科目
allsubjects* addallsubjects(); //添加全部科目
allsubjects* delallsubjects(); //删除全部科目中的一科
};
allsubjects* admin::addallsubjects() *
{
cout < < "这里是添加预设所有科目的地方,如果科目没有添加,则在整个系统中没有该科目 " < <endl;
admin::showallsubjects();
char subject[100],ch;
cin> > subject;
while(subject!=NULL)
{
.......
}
在上面的*行,编译提示:
\vc23475335\ex3\admincode.cpp(255) : error C2143: syntax error : missing '; ' before '* ' 这个怎么回事,怎么会缺医少;
\vc23475335\ex3\admincode.cpp(255) : error C2501: 'allsubjects ' : missing storage-class or type specifiers 这句话怎么翻译
\vc23475335\ex3\admincode.cpp(256) : error C2501: 'addallsubjects ' : missing storage-class or type specifiers
\vc23475335\ex3\admincode.cpp(256) : error C2556: 'int *__thiscall admin::a
上面的addallsubjects定义的是返回一个在类内已经定义好的结构体指针,难道这个样定义有问题吗?
请大家帮我看一下,谢谢
------解决方案--------------------
这样
allsubjects* admin::addallsubjects() ==>
admin::allsubjects* admin::addallsubjects()
------解决方案--------------------
你的代码里调用了admin::showallsubjects(void),但是linker找不到对admin::showallsubjects(void)的实现。
把函数 showallsubjects(void) 写好就行了
class admin
{
private:
typedef struct tagallsubjects
{ char subject[100];
unsigned int ID;
struct tagallsubjects *next;
}allsubjects;
allsubjects *head_allsubjects,*p_allsubjects,*tail_allsubjects; //建立类内的全局指针
public:
admin();
~admin();
void showallsubjects(); //查看当前设置的全部科目
allsubjects* addallsubjects(); //添加全部科目
allsubjects* delallsubjects(); //删除全部科目中的一科
};
allsubjects* admin::addallsubjects() *
{
cout < < "这里是添加预设所有科目的地方,如果科目没有添加,则在整个系统中没有该科目 " < <endl;
admin::showallsubjects();
char subject[100],ch;
cin> > subject;
while(subject!=NULL)
{
.......
}
在上面的*行,编译提示:
\vc23475335\ex3\admincode.cpp(255) : error C2143: syntax error : missing '; ' before '* ' 这个怎么回事,怎么会缺医少;
\vc23475335\ex3\admincode.cpp(255) : error C2501: 'allsubjects ' : missing storage-class or type specifiers 这句话怎么翻译
\vc23475335\ex3\admincode.cpp(256) : error C2501: 'addallsubjects ' : missing storage-class or type specifiers
\vc23475335\ex3\admincode.cpp(256) : error C2556: 'int *__thiscall admin::a
上面的addallsubjects定义的是返回一个在类内已经定义好的结构体指针,难道这个样定义有问题吗?
请大家帮我看一下,谢谢
------解决方案--------------------
这样
allsubjects* admin::addallsubjects() ==>
admin::allsubjects* admin::addallsubjects()
------解决方案--------------------
你的代码里调用了admin::showallsubjects(void),但是linker找不到对admin::showallsubjects(void)的实现。
把函数 showallsubjects(void) 写好就行了