LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 648|回复: 5

这是怎么回事呀?

[复制链接]
发表于 2005-8-22 09:15:22 | 显示全部楼层 |阅读模式
刚学C++编程.哪位兄弟帮我看看这是什么原因..
////////////////////////////////////file main.cpp
#include <iostream>
#include <string>
#include "MyStringOpClass.h"
using namespace std;
int main()
{
  string str1="asdglk;jei;jlasf";
  string str2;
  str2 = MyStringOpClass::left(7, str1 );
  cout <<"address of str2 is "<< &str2<<endl;
  cout << "str1 is :"<< str1<<endl
       << "str2 is :" << str2 <<endl;
  return 0;
}
////////////////////////////file MyStringOpClass.cpp
#include<string>
#include"MyStringOpClass.h"
using namespace std;
string MyStringOpClass::left(string::size_type len,const string& src)
{
  string::size_type i,length;
  i = src.length();
  length = (len <= i)?len:i;
  return src.substr(0,length);
}
//////////file MystringOpclass.h
#ifndef MYSTRNGOPCLASS_H
#define  MYSTRINGOPCLASS_H
#include <string>
using namespace std;
class MyStringOpClass
{
           public:
                MyStringOpClass(){ };
                ~MyStringOpClass() { };
                static string left(string::size_type len,const string& src);
};

#endif //MYSTRINGOPCLASS_H


上面的程序在VC6下面编译通过,并且能生成可执行文件.在Gcc下面 编译能通过.但是在连接阶段出错误...
哪位兄弟帮我看看.....
发表于 2005-8-22 09:31:21 | 显示全部楼层
给出你的gcc命令
回复 支持 反对

使用道具 举报

发表于 2005-8-22 09:38:51 | 显示全部楼层
编译时有没有把 MyStringOpClass.c 一起编译啊.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-22 11:17:42 | 显示全部楼层
我输入的Gcc命令:
gcc -Wall -o stringop stirngop.cpp MyStringOpClass.cpp

我用的系统是FC3,所有的工具都没有Update 过..
回复 支持 反对

使用道具 举报

发表于 2005-8-22 12:13:33 | 显示全部楼层
g++ 试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-22 13:31:43 | 显示全部楼层

多谢啦................

怪自己看书太大意了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表