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

g++ 一个简单的问题

    来源: 互联网  发布时间:2015-09-16

    本文导语:  本人刚学 g++ 写了个这样的程序 编译不通过  // String.h: interface for the String class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_STRING_H__F53E2E25_93A6_4A7A_B878_15521F33B4BF__INCLUDED_) #define AFX_STRING_...

本人刚学 g++
写了个这样的程序 编译不通过 
// String.h: interface for the String class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_STRING_H__F53E2E25_93A6_4A7A_B878_15521F33B4BF__INCLUDED_)
#define AFX_STRING_H__F53E2E25_93A6_4A7A_B878_15521F33B4BF__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class String  
{
public:
String & operator =(String &s1);
String operator+(String &s2);
String();
virtual ~String();

private:
char * m_data;
};

#endif // !defined(AFX_STRING_H__F53E2E25_93A6_4A7A_B878_15521F33B4BF__INCLUDED_)

// String.cpp: implementation of the String class.
//
//////////////////////////////////////////////////////////////////////

#include "String.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

String::String()
{
m_data = new char[100];
}

String::~String()
{
delete []m_data;
}

String String::operator +(String &s2)
{
String temp;
return temp;
}

String & String::operator =(String &s1)
{
if(this == &s1)
return *this;
delete []m_data;
m_data = new char[100];
return *this;
}

// test.cpp
//

#include "String.h"

int main()
{
int x,y,sum;
String str1,str2,temp;

temp = str1 +(str2); // test.cpp:9: error: no match for 'operator=' in 'temp = String::operator+(String&
)(((String&)(&str2)))'
return 0;
}

很简单就一个 String 类 有 = ,+方法
可是编译却说上面那一行有错误!
请精通 g++ 的高手指点一二。
我在 vc 里就可以通过,但是运行的时候有程序崩溃

|
晕g++不是一门语言
是GNU的C++编译器
上面程序的编译错误在于String&引用的使用错误
只要将所有的引用String&改为String即可
另外程序运行出错的问题在于
1str1,str2没有初始化数据
2重载运算符operator+,operator=定义时程序书写不完整
没完成相应操作

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 技术文章 iis7站长之家
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


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

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

    浙ICP备11055608号-3