标题:C++ 编译错误undefined reference to ' ' 求破....
只看楼主
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:0 
回复 10楼 Mayuri
问题是你的那个#endif放的位置不对吧,你要是定义了那个RECTANGEL_H了,你的class就不定义了吗?不过我没把类放在#endif前面过,不知道会有什么结果,

建议你还是把#endif放在#define后面吧。
2013-04-04 00:39
Mayuri
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-12-17
得分:0 
回复 11楼 shmilyflf
即使我去掉了头文件卫士的那三行代码依然报错
2013-04-04 07:10
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
以下是引用shmilyflf在2013-4-3 23:13:01的发言:

#ifndef RECTANGLE_H
#define RECTANGLE_H
#endif
这个你是要干什么的? RECTANGLE_H这个是什么?
你知道#ifndef  #define  #endif这个是什么处吗?你这样可能使得这个类未被定义吧。

别瞎说误导人

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-04 07:11
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
以下是引用shmilyflf在2013-4-4 00:39:12的发言:

问题是你的那个#endif放的位置不对吧,你要是定义了那个RECTANGEL_H了,你的class就不定义了吗?不过我没把类放在#endif前面过,不知道会有什么结果,

建议你还是把#endif放在#define后面吧。

其实按照你在六楼说的,我觉得你才应该去看一下这三个宏什么意思

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-04 07:12
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:10 
以下是引用Mayuri在2013-4-4 07:10:59的发言:

即使我去掉了头文件卫士的那三行代码依然报错

结合编译错误信息,和前面几个人的说法
你的H没有找到CPP...可能是路径问题吧?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-04 07:13
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:0 
回复 14楼 peach5460
呵呵,大神啊,但是我想请教个问题:
#include<stdio.h>
#define a 3
#ifndef a
#define b 4
int c=6;
#endif

int main()
{
    printf("%d\n",b);
    printf("%d\n",c);
    return 0;
}
上面的为什么会报错:
error C2065: 'b' : undeclared identifier
error C2065: 'c' : undeclared identifier
2013-04-04 09:52
iAkiak
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2013-4-4
得分:5 
程序代码:
--------------------配置: mingw5 - CUI Debug, 编译器类型: MinGW--------------------

检查文件依赖性...
正在编译 C:\Users\Alien\Desktop\HW4\9.11\RectangleClass.cpp...
正在连接...


注意到正在编译只出现了一次,就开始连接了。所以你的Rectangle.cpp没放到项目里么?
2013-04-04 11:12
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
以下是引用shmilyflf在2013-4-4 09:52:50的发言:

呵呵,大神啊,但是我想请教个问题:
#include
#define a 3
#ifndef a
#define b 4
int c=6;
#endif

int main()
{
    printf("%d\n",b);
    printf("%d\n",c);
    return 0;
}
上面的为什么会报错:
error C2065: 'b' : undeclared identifier
error C2065: 'c' : undeclared identifier

定义a=3
如果没有定义a则定义b=4,c=6
你说为什么报错呢?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-05 11:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-402980-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.102878 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved