当前位置:  技术问答>linux和unix

大家来看看,为什么我的这个vector向量定义在VC下可以运行,在Linux下编译通不过?

    来源: 互联网  发布时间:2015-07-21

    本文导语:  #include  #include    typedef struct mystruct  {    int x;    int y;  }MyStruct; void main() { vector str; mystruct *t; str.at(0) = t; } | 编译命令恐怕是原因 #include  using namespace std;  typedef struct mystru...

#include 
#include 
 
typedef struct mystruct
 {
   int x;
   int y;
 }MyStruct;

void main()
{

vector str;
mystruct *t;
str.at(0) = t;
}

|
编译命令恐怕是原因
#include 
using namespace std;

 typedef struct mystruct
 {
   int x;
   int y;
 }MyStruct;

int main()
{

  vector str;
  mystruct *t = new MyStruct();
  t->x = 3;
  t->y = 4;

  str.at(0) = t;
  return 0;
}

g++ vector.cpp  -Wall -g3 -o v

 gcc vector.cpp  -Wall -g3 -o v
/tmp/ccNLSFCp.o(.text+0x6d): In function `main':
/home/kenneth/test/vector.cpp:14: undefined reference to `operator new(unsigned)'
/tmp/ccNLSFCp.o(.text+0x9a):/home/kenneth/test/vector.cpp:14: undefined reference to `operator delete(void*)'
/tmp/ccNLSFCp.o(.gnu.linkonce.t._ZNKSt6vectorIP8mystructSaIS1_EE14_M_range_checkEj+0x22): In function `std::vector::_M_range_check(unsigned) const':
/usr/include/c++/3.2.2/bits/stl_construct.h:143: undefined reference to `std::__throw_out_of_range(char const*)'
/tmp/ccNLSFCp.o(.gnu.linkonce.t._ZNSt14__simple_allocIP8mystructSt24__default_alloc_templateILb1ELi0EEE10deallocateEPS1_j+0x1a): In function `std::__simple_alloc::deallocate(mystruct**, unsigned)':
/usr/include/c++/3.2.2/bits/stl_vector.h:304: undefined reference to `std::__default_alloc_template::deallocate(void*, unsigned)'
/tmp/ccNLSFCp.o(.eh_frame+0x12):/home/kenneth/test/vector.cpp:13: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

|
templates can be used only in C++ not C
so use g++ instead of gcc

|
str.push_back(t); 

|
首先 vector应该#include 
其次 记得using namespace std;
第三 void main应为int main
最后 你系统的学过C++ STL么?

|
OS is redhat 8.0?

|
hai

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util类vector<e>的类成员方法: vector定义及介绍
  • 请问用Vector定义的变量/对象有什么用?
  • java命名空间java.util类vector<e>的类成员方法: elementdata定义及介绍
  • 为什么要自定义一个Vector类?
  • java命名空间java.util类vector<e>的类成员方法: elementcount定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: capacityincrement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: clone定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: capacity定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: removeallelements定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: lastelement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: firstelement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: trimtosize定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: tostring定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: addelement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: elements定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: setsize定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: elementat定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: size定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: clear定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: removerange定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: isempty定义及介绍
  • C++ Vectors 成员 swap():交换两个Vector
  • 如何创建vector数组!我这些不对static Vector report[8]=new Vector()[8];高手指点me:)
  • C++ Vectors 成员 assign():对Vector中的元素赋值
  • 在一个方法如:public Vector getDistinctVector(Vector old,Vector new),如何可以保证 old 不被改写,因为old是从外面传入来的,old本
  • C++ Vectors 成员 rbegin():返回Vector尾部的逆迭代器
  • 如何把包含Vector的一个Vector转换成Integer[][]??
  • C++ Vectors 成员 reserve():设置Vector最小的元素容纳数量
  • 在线等待:如何把vector清空,再用该清空vector是,索引是从0开始,而不是紧接着上次清空是的索引?
  • C++ Vectors 成员 rend():返回Vector起始的逆迭代器
  • c++中vector<int>和vector<int*>的用法区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3