C++在头文件定义类,在源文件实现类的成员函数,出现问题。菜鸟求教

//头文件B.h#ifndef_B_H#define_B_H#include<string>classB{public:B();~B();voidshowfunc();s... // 头文件 B.h
#ifndef _B_H
#define _B_H
#include <string>
class B
{
public:
B();
~B();
void showfunc();
string b;
};
#endif
// 源文件 B.cpp
#include <iostream>
#include <string>
#include "B.h"
using namespace std;
B::B()
{
}
void B::showfunc()
{
cout<<b<<endl;
}
/**************************************/
// 这是 main.cpp
#include <iostream>
// #include "B.h"
using namespace std;
void main()
{
}
编译出现问题:
syntax error : missing ';' before identifier 'b'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2065: 'b' : undeclared identifier
问题出哪儿了?
展开
 我来答
z490721123
2013-11-05 · 超过25用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:67.2万
展开全部
就你贴出来的代码来说,本人觉得没有问题的。 你是不是在main里面定义b了? 报的错是b,但类中的b是没问题的。
更多追问追答
追问
问题是我把main.cpp中的#include "B.h"这句已经注释掉了啊~而且在main中又没定义类B的对象
追答
搞不清楚了,你这个b也就出现了两个地方,要不你把b换个,比如c来确定是那个出的问题?
156*****897
2013-11-09
知道答主
回答量:1
采纳率:0%
帮助的人:1418
展开全部
在B.h文件下#include<string>后面加名字空间std的使用。编译器才能认得。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路易五十三
2013-11-05 · 超过15用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:43.3万
展开全部
头文件 B.h里在#include <string>后面添上一句using namespace std;
编译器没有认出string
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式