【问题标题】:I'm unable to trace the error for a function我无法追踪函数的错误
【发布时间】:2016-03-10 13:31:57
【问题描述】:

我在调试此代码中的错误时遇到了麻烦,并且不明白我到底哪里出错了?

#include <iostream>
using namespace std;
class man
{
    int age;
    int height;
    int weight;
public:
    int data(void);
    void initialize(int,int,int);
};
int man::data(void)
{
    return (age*height)/weight;
};
void man::initialize(initial_age,initial_height,initial_weight)
{
    age = initial_age;
    height = initial_height;
    weight = initial_weight;
};

int main()
{
    man tim,crook;
    tim.initialize(19,178,55);
    crook.initialize(28,171,71);

    cout << "THE DATA IS AS SHOWN FOR tim" << tim.initialize() << endl;
    cout <<"THE DATA IS AS SHOWN FOR crook" << crook.initialialize() << endl;
}

【问题讨论】:

  • 请提供您遇到的错误信息。
  • @IvanGritsenko Initial_age,initial_height,initial_weight 未在此范围内声明是错误。
  • 如我所想。看我的回答。
  • @IvanGritsenko 输出语句也有一个错误,表示没有匹配的函数。我确定我传递了三个设置为私有的整数并通过成员函数访问它
  • @IvanGritsenko 是的,我确实接受了它,但是您是否发现我的输出语句有问题?

标签: c++ function class oop


【解决方案1】:

我用肉眼注意到man::initialize 方法的实现有一个错误。它的参数没有类型。添加int 类型。

void man::initialize(int initial_age, int initial_height, int initial_weight)
{
    age = initial_age;
    height = initial_height;
    weight = initial_weight;
};

【讨论】:

  • 谢谢,我盲目地写了它,想知道可能是什么问题。
  • @vinod,如果有帮助,请考虑accepting 的答案。
猜你喜欢
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 2012-01-10
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
相关资源
最近更新 更多