免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1884 | 回复: 11
打印 上一主题 下一主题

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~` [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-07 10:27 |只看该作者 |倒序浏览
程序编译的时候没有问题,但是在连接的时候提示undefined reference to'Class1::func1()',
可明明在Class1中已经给了func1()的定义啊,并且也在该文件中#include了Class1头文件,已经找了一天了,也不知道是哪里错了,请给指个方向吧!
谢谢!

论坛徽章:
0
2 [报告]
发表于 2004-04-07 10:32 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

应该是编译的时候缺少LIB吧,
你的class1是个具体是什么类啊。

论坛徽章:
0
3 [报告]
发表于 2004-04-07 10:54 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

是个template class,并且继承了另外一个类

论坛徽章:
0
4 [报告]
发表于 2004-04-07 11:00 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

什么template class 啊,STL的,还是你自己写的啊,或者是别人提功的第3方的啊,我以前也遇见过这种情况,光加个头文件只能保证编译的时候通过,但是在连接的时候就会报错,呵呵

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2004-04-07 11:03 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

继承了另一个类,那另一个类有没有编译呢?

论坛徽章:
0
6 [报告]
发表于 2004-04-07 11:08 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

你的模板类的声明与实现是写在一个文件中还是分开到两个文件中?编译器对这个有要求的

论坛徽章:
0
7 [报告]
发表于 2004-04-07 11:12 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

一般摸版类声明和实现最好都是写到一个文件里,不然编译的时候很麻烦

论坛徽章:
0
8 [报告]
发表于 2004-04-07 11:15 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

我是分开在两个文件里的
但是奇怪的是,我把这个函数改成virtual后,就不再提示这个了,而父类里并没有这个函数啊,他的一个兄弟类里倒是有个名字相同的函数,但不应该有什么冲突吧!
改完以后又提示构造函数有同样的错误,我把构造函数提到类定义的外面就OK了,谁能帮我解释一下这是什么原因?

论坛徽章:
0
9 [报告]
发表于 2004-04-07 11:18 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

还有个问题,就是使用vector用申请空间吗?
我想不用申请,直接push_back就可以吧
那么,用完之后是否需要手工释放,delete(vector)?

论坛徽章:
0
10 [报告]
发表于 2004-04-07 11:35 |只看该作者

程序连接时出现错误,昨天已经找了一天了,帮忙看看吧,急~~`

原帖由 "dragonq" 发表:
还有个问题,就是使用vector用申请空间吗?
我想不用申请,直接push_back就可以吧
那么,用完之后是否需要手工释放,delete(vector)?


vector和数组用法上没有多大区别,想下面这样的用法,
应该不用自己处理分配和回收的,下面有段代码,你看看吧,好运。

  1. #include <iostream>;
  2. #include <vector>;
  3. #include <algorithm>;
  4. using namespace std;
  5. int main()
  6. {
  7. vector<int>; v1;
  8. vector<int>; v2(10);
  9. //v1.assign(2,9);

  10. vector<int>; v3(5,1);
  11. v1.assign(v3.begin(),v3.end());
  12. copy(v1.begin(),v1.end(),ostream_iterator<int>;(cout," "));
  13. cout<<endl;
  14. copy(v2.begin(),v2.end(),ostream_iterator<int>;(cout," "));
  15. cout<<endl;
  16. copy(v3.begin(),v3.end(),ostream_iterator<int>;(cout," "));
  17. cout<<endl;
  18. int mm[8];
  19. for(int i=0;i<=7;i++)
  20. mm[i]=i;
  21. vector<int>; v4(mm,mm+sizeof(mm)/sizeof(mm[0]));//将数组给向量的方法
  22. copy(v4.begin(),v4.end(),ostream_iterator<int>;(cout," "));
  23. cout<<endl;
  24. cout <<v4.size()<<endl;
  25. cout <<v4.empty()<<endl;
  26. cout <<v4.max_size()<<endl;
  27. v4.push_back(5);
  28. copy(v4.begin(),v4.end(),ostream_iterator<int>;(cout," "));
  29. cout<<endl;
  30. vector<int>;::iterator p=v4.begin();
  31. v4.erase(p+4);//随机存储跌代器操作
  32. copy(v4.begin(),v4.end(),ostream_iterator<int>;(cout," "));
  33. cout<<endl;
  34. //把vector当做数组使用
  35. vector<char>; v5;
  36. v5.resize(12);
  37. strcpy(&v5[0],"hello,world");
  38. printf("%s\n",&v5[0]);
  39. //////////////////////////////////////////
  40. cout << v5[7]<<endl;
  41. cout <<v5.at(10)<<endl;
  42. return 0;
  43. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP