Форум программистов, компьютерный форум CyberForum.ru

Такой способ не работает - C++

Восстановить пароль Регистрация
 
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
06.08.2013, 16:06     Такой способ не работает #1
Не могу понять. Почему peppy.GetWeight; и peppy.GetAge; не работают?
Пишет:
1>c:\users\павло\skydrive\c++\z16.1\z16.1\z16.1.cpp(52): error C3867: 'Animal::GetWeight': function call missing argument list; use '&Animal::GetWeight' to create a pointer to member
1>c:\users\павло\skydrive\c++\z16.1\z16.1\z16.1.cpp(54): error C3867: 'Animal::GetAge': function call missing argument list; use '&Animal::GetAge' to create a pointer to member
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// z16.1.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
class Animal;
 
void setValue (Animal&, int);
void setValue (Animal&, int, int);
class Animal
{
public:
    Animal();
    ~Animal();
    friend void setValue (Animal&, int);
    friend void setValue (Animal&, int, int);
    int GetWeight () {cout << itsWeight;}
    int GetAge () {cout << itsAge;}
private:
    int itsWeight;
    int itsAge; 
};
 
 
Animal::Animal()
{
}
 
Animal::~Animal()
{
}
 
void setValue (Animal& theAnimal, int theWeight)
{
    theAnimal.itsWeight = theWeight;
}
 
void setValue (Animal& theAnimal, int Weight, int theAge)
{
    theAnimal.itsWeight = Weight;
    theAnimal.itsAge = theAge;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    Animal peppy;
    setValue (peppy, 5);
    setValue (peppy, 7, 9);
    cout << "Peppy's weight is: ";
    peppy.GetWeight;
    cout << "Peppy's age is: ";
    peppy.GetAge;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
06.08.2013, 16:16     Такой способ не работает #2
Цитата Сообщение от Erjay Посмотреть сообщение
C++
1
2
3
peppy.GetWeight;
cout << "Peppy's age is: ";
peppy.GetAge;
Круглые скобки в вызовах методов пропущены.
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
06.08.2013, 17:20  [ТС]     Такой способ не работает #3
Пришлось еще и возвращаемый тип GetWeight, GetAge изменить на void. Работает!
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
06.08.2013, 17:23     Такой способ не работает #4
Erjay, очень информативно. Какие ошибки?

Добавлено через 33 секунды
Цитата Сообщение от Erjay Посмотреть сообщение
int GetWeight () {cout << itsWeight;}
А, ну да. Метод ничего не возвращает.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
06.08.2013, 17:40     Такой способ не работает #5
Цитата Сообщение от 0x10 Посмотреть сообщение
А, ну да. Метод ничего не возвращает.
И при этом имеет имя Get... не хорошо. Тогда уж Show какой-нибудь.
Yandex
Объявления
06.08.2013, 17:40     Такой способ не работает
Ответ Создать тему
Опции темы

Текущее время: 02:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru