| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 778 人关注过本帖
标题:调试程序出现问题,请指点迷津
只看楼主 加入收藏
chenzekai
Rank: 2
等 级:论坛游民
帖 子:27
专家分:38
注 册:2010-3-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
调试程序出现问题,请指点迷津
#include <iostream.h>
class X
{
    int m_ivar;
public:
    X(int i)
    {m_ivar=i;
    cout<<"m_ivar的值是:"<<endl;}
    X(const X &Other)
    {m_ivar=Other.m_ivar;
    cout<<"m_ivar的值是:"<<endl;}

    X func(X x)
    {
        return x;
    }
   
    void print()
    {cout<<"m_ivar="<<m_ivar<<endl;}
};

void main()
{
    X x1(1);
    x1.print();
    X x2(x1);
    x2.print();
    X x3=x2;
    x3.print();
    X x4(2);
    X x5=func(x4);
}

调试时出现error C2065: 'func' : undeclared identifier

我不知道怎么改
搜索更多相关主题的帖子: 调试 
2010-04-12 16:11
秀痘魔导士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:250
专家分:1150
注 册:2009-12-23
收藏
得分:8 
程序代码:
#include <iostream.h>
class X
{
    int m_ivar;
public:
    X(){};
    X(int i)
    {m_ivar=i;
    cout<<"m_ivar的值是:"<<endl;}
    X(const X &Other)
    {m_ivar=Other.m_ivar;
    cout<<"m_ivar的值是:"<<endl;}

    X func(X x)
    {
        return x;
    }

    void print()
    {cout<<"m_ivar="<<m_ivar<<endl;}
};

void main()
{
    X x1(1);
    x1.print();
    X x2(x1);
    x2.print();
    X x3=x2;
    x3.print();
    X x4(2);
    X x5;
    x5.func(x4);
}
2010-04-12 16:17
yyblackyy
Rank: 6Rank: 6
等 级:侠之大者
帖 子:98
专家分:457
注 册:2010-3-31
收藏
得分:2 
X x5=func(x4);
 x5.func(x4);
2010-04-12 17:55
hblikun
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:11
专家分:20
注 册:2009-1-8
收藏
得分:1 
楼上正解,注意语法格式
2010-04-12 19:36
chenzekai
Rank: 2
等 级:论坛游民
帖 子:27
专家分:38
注 册:2010-3-26
收藏
得分:0 
我是照书写的,我还有疑问,就是为什么要添加 X(){};
2010-04-12 20:33
chenzekai
Rank: 2
等 级:论坛游民
帖 子:27
专家分:38
注 册:2010-3-26
收藏
得分:0 
还有书里直接就

X x5=func(x4);

跟X x5;
  x5.func(x4);
比这样错在哪里
2010-04-12 20:35
yyblackyy
Rank: 6Rank: 6
等 级:侠之大者
帖 子:98
专家分:457
注 册:2010-3-31
收藏
得分:7 
X(){}可用可无的 但没有时就要初始化了  X a(4)。。。。。 若写成 X a 的形式的话编译器就会提示没有合适的默认构函数了
X x5=func(x4)   func(x4)是类成员函数,调用的方法是对象的实例或也类本身   但现在没有东东去调用他当然错了
2010-04-12 23:06
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
试试用其他对象引用!!!!
2010-04-12 23:56
kehuadong
Rank: 1
等 级:新手上路
威 望:1
帖 子:21
专家分:3
注 册:2008-12-26
收藏
得分:2 
func是X的成员函数,不能直接,要通过对象调用
2010-04-13 00:24
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
改成这样就可以了。
代码如下:

#include <iostream>
using namespace std;


class X
{
    int m_ivar;  //私有成员
public:
    X(int i)
    {m_ivar=i;}

    X(const X &Other)        //常引用
    {m_ivar=Other.m_ivar;
    cout<<"m_ivar的值是:"<<m_ivar<<endl;}

    X func(X x)
    {
        return x;
    }
   
    void print()
    {cout<<"m_ivar="<<m_ivar<<endl;}

};

void main()
{
    X x1(1);
    x1.print();
    X x2(x1);
    x2.print();
    X x3=x2;
    x3.print();
    X x4(2);
    X x5=x4.func(x4);
    x5.print();
}

南国利剑
2010-04-14 13:16
快速回复:调试程序出现问题,请指点迷津
数据加载中...
 
   



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

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