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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
DonDigidon
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 8
#1

Ошибка invalid use of member - C++

10.07.2013, 14:00. Просмотров 1834. Ответов 7
Метки нет (Все метки)

Вот код.

C++
1
2
3
if (variety == a1.seta
 cout << a1.seta;
 else cout << "This sort is not.Try again." << endl;
В ошибке показывает вот это:

invalid use of member (did you forget the `&' ?)


Как решить проблему???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
10.07.2013, 14:03     Ошибка invalid use of member #2
1. Где скобка в условии?

Добавлено через 21 секунду
2. Что такое seta?
DonDigidon
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 8
10.07.2013, 14:08  [ТС]     Ошибка invalid use of member #3
C++
1
2
3
if (variety == a1)
 cout << a1;
 else cout << "This sort is not.Try again." << endl;
Я сделал вот так.
Проблема:

no match for 'operator==' in 'variety == a1'
no match for 'operator<<' in 'std::cout << a1'
Valentina
68 / 68 / 3
Регистрация: 13.05.2012
Сообщений: 130
10.07.2013, 14:11     Ошибка invalid use of member #4
как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main()
{
    int variety=10;
    int a1=5;
    if (variety == a1)
 cout << a1;
 else cout << "This sort is not.Try again." << endl;
 
    system("pause");
    return 0;
}
DonDigidon
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 8
10.07.2013, 14:21  [ТС]     Ошибка invalid use of member #5
чтобы было понятней

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <cstring>
using namespace std;
 
int variety;
 
enum yn {no ,yes};
enum color {red, yellow, green, orange};
 
void out(enum yn x);
 
char *c[ ] = {
     "red", "yellow", "green", "orange"};
 
//Ðîäîâîé ГЄГ«Г*Г±Г± ôðóêòîâ
 
class fruit {
      public:
             enum yn annual;
             enum yn perennial;
             enum yn tree;
             enum yn tropical;
             enum color clr;
             char name[40];
      };
      
//ÏðîçâîèäГ*ûé ГЄГ«Г*Г±Г± ÿáëîê
 
class apple: public fruit {
      enum yn cooking;
      enum yn crunchy;
      enum yn eating;
      public:
             void seta(char *n, enum color c, enum yn ck, enum yn crchy, enum yn e);
             void show();
};
 
void apple::seta(char *n, enum color c, enum yn ck, enum yn crchy, enum yn e)
{
strcpy(name, n);
annual = no;
perennial = yes;
tree = yes;
tropical = no;
clr = c;
cooking = ck;
crunchy = crchy;
eating = e;     
}
 
 
void apple::show()
{
cout << name << " Apple - is: " << "\n"; 
cout << "Annual: "; out(annual);
cout << "Perennial: "; out(perennial);
cout << "Tree: "; out(tree);
cout << "Tropical: "; out (tropical);
cout << "Color: " << c[clr] << "\n";
cout << "Cokking: "; out(cooking);
cout << "Crunchy: "; out(crunchy);
cout << "Eating: "; out(eating);
cout << "\n";
}
 
 
void out(enum yn x)
{
if (x == no) cout << "no\n";
else cout << "yes\n";
}
 
 
 
int main()
{
    
     apple a1, a2;
 
 a1.seta("Red wonder", red, no, yes, yes);
 a2.seta("Jonathan", red, yes, no, yes);
    
 do {
 cout << "Write any variety of apples:";
 cin >> variety;
 
 if (variety == a1)
 cout << a1;
 else cout << "This sort is not.Try again." << endl;
 
 
}while (variety != 0);
 system("pause");
}
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.07.2013, 16:54     Ошибка invalid use of member #6
Цитата Сообщение от DonDigidon Посмотреть сообщение
enum yn {no ,yes};
bool уже не котируется?
Цитата Сообщение от DonDigidon Посмотреть сообщение
char *c[ ] = { "red", "yellow", "green", "orange"};
const потерян
Цитата Сообщение от DonDigidon Посмотреть сообщение
if (variety == a1)
сравнение целого с яблоком?
Цитата Сообщение от DonDigidon Посмотреть сообщение
void seta
Ознакомьтесь с конструкторами.
Цитата Сообщение от DonDigidon Посмотреть сообщение
cout << a1;
Чтобы так делать нужно перегрузить оператор вывода в поток для класса яблочек.
DonDigidon
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 8
10.07.2013, 17:25  [ТС]     Ошибка invalid use of member #7
Tulosba спасибо)Только я не знаю что делать с перегрузкой оператора вывода в поток.Я-новичок просто.
Можешь написать код?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2013, 17:32     Ошибка invalid use of member
Еще ссылки по теме:
C++ Ошибка - Reference member 'example::link' is not initialized
Request for member which is of non-class type c++ ошибка C++
Ошибка при компиляции (.is not a member of std) C++
Widgets, ошибка: 'class Ui::MainWindow' has no member named <...> C++
C++ ошибка uninitialized reference member in 'struct A::Node' using 'new' without new-initializer

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.07.2013, 17:32     Ошибка invalid use of member #8
DonDigidon, я думаю, Вам сначала надо в более базовых вещах разобраться. Напишите пока для класса метод print(), который будет нужные поля на консоль выводить. А там уже и до перегрузки вывода в поток рукой подать.
Yandex
Объявления
10.07.2013, 17:32     Ошибка invalid use of member
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru