我在一个h文件中声明了一个类,在cpp文件实现它,在主函数调用它时报错

//1.h#ifndef_1_H#define_1_H#include<iostream>usingnamespacestd;classA{public:A(inta,i... //1.h
#ifndef _1_H
#define _1_H
#include <iostream>
using namespace std;
class A{
public:
A(int a,int b,int c):a(a),b(b),c(c){};
void print(A *a);
private:
int a,b,c;
};
#endif

//s2.cpp
#include "1.h"
void class A::print(A *a)
{
cout<<a->a<<"\t"<<a->b<<"\t"<<a->c<<"\n";
};

//s.cpp
#include "1.h"
int main()
{
A a(1,2,3);
a.print(&a);

return 0;
}
build时报错:s.obj : error LNK2001: unresolved external symbol "public: void __thiscall A::print(class A *)" (?print@A@@QAEXPAV1@@Z)
展开
 我来答
键盘未找到
2015-09-01 · TA获得超过328个赞
知道小有建树答主
回答量:403
采纳率:100%
帮助的人:266万
展开全部
不妨改一下头文件名,以字母开头,头文件和cpp文件用相同的文件名
更多追问追答
追问
改了也不行呀,而且这个文件名字没有影响吧
追答
//s2.cpp 中的
void class A::print(A *a)

改成

void A::print(A *a)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-01-15
展开全部
void class A::print(A *a)
改成
void A::print(A *a)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bh...b@163.com
推荐于2017-09-25 · TA获得超过1008个赞
知道小有建树答主
回答量:2796
采纳率:20%
帮助的人:1058万
展开全部
class定义结尾每家分号,应该(*this).a或者this->a。这和分不分文件没关系啊
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式