0 / 0 / 1
Регистрация: 17.10.2015
Сообщений: 52
1

Нестандартный синтаксис, используйте "&", чтобы создать указатель на член

17.04.2016, 18:55. Показов 27403. Ответов 3
Метки нет (Все метки)

Здравствуйте,начал изучать классы и вот такая фигня.Кому не сложно,помогите исправить

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "RECURSION_ONE.h"
 
 
int main(void)
{
    setlocale(LC_ALL, "rus");
 
    USER_selection user;
 
 
    user.set_menu;
}
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
#include "RECURSION_ONE.h"
 
int RECURSION::first_recursion()
{
 
 
}
 
inline void INTERFACE::menu()
{
    cout << "                       Здраствуйте " << endl;
    cout << "               Лабораторная робота №12 " << endl;
    cout << "                       Рекурсия" << endl;
    cout << "Вы можете:" << endl;
    cout << "1.Посмотреть роботу программы" << endl;
    cout << "2.Информация о программе" << endl;
    cout << "Для выхода нажмите 'ESC'" << endl;
} 
inline void INTERFACE::change_recursion()
{
    cout << "Это программа содержит 2 програмы:" << endl;
    cout << "1.Программа №1"<< endl;
    cout << "2.Программа №2" << endl;
}
inline void INTERFACE::vvod()
{
    cout << "Введите n :" << endl;
}
 
 
void USER_selection::set_n(int n)
{
    INTERFACE user;
 
    
    user.vvod;
    cin >> n;
}
void USER_selection::set_menu(int menu)
{
    INTERFACE user;
 
    
    user.menu;
    menu = _getch();
}
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
#pragma once
 
#ifndef MAIN
#define MAIN
#include <iostream>
#include <conio.h>
using namespace std;
//This class  for recursion 
class RECURSION
{
 
public:
    int x;
    int n;
 
    int first_recursion();
    
};
//This class for interface
class INTERFACE
{
public:
    inline void menu();
    inline void change_recursion();
    inline void vvod();
 
};
//This class for user selection
class USER_selection
{
public:
    void set_n(int n);
    void set_menu(int menu);
};
#endif // !MAIN
ошибки
C++
1
2
3
4
Серьезность  Код  Описание    Проект    Файл    Строка    Состояние подавления
Ошибка    C3867   "INTERFACE::menu": нестандартный синтаксис; используйте "&", чтобы создать указатель на член    OP_Recursion    d:\myprograms\op_recursion\op_recursion\recursion_one.cpp   44  
Ошибка    C3867   "INTERFACE::vvod": нестандартный синтаксис; используйте "&", чтобы создать указатель на член    OP_Recursion    d:\myprograms\op_recursion\op_recursion\recursion_one.cpp   36  
Ошибка    C3867   "USER_selection::set_menu": нестандартный синтаксис; используйте "&", чтобы создать указатель на член   OP_Recursion    d:\myprograms\op_recursion\op_recursion\main.cpp    11
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2016, 18:55
Ответы с готовыми решениями:

Error C3867: "String::length": нестандартный синтаксис; используйте "&", чтобы создать указатель на член
В классе написал такой метод, чтобы посчитать количество символов в строке: int String::length()...

"Нестандартный синтаксис, используйте "&", чтобы создать указатель на член"
Ошибка в строке 79: Animals::Show нестандартный синтаксис, используйте &quot;&amp;&quot;, чтобы создать...

нестандартный синтаксис используйте "&", чтобы создать указатель на член C3867
Нужно определить принадлежность точки прямой, используя классы. Выходит ошибка C3867 на 56 и 69...

Не могу создать указатель на функцию. ошибка: нестандартный синтаксис; используйте "&", чтобы создать указатель на член
Выбивает ошибку, когда хочу присвоить переменной адрес какой то функции. Ошибка в строке 28(если...

3
Вездепух
Эксперт CЭксперт С++
10822 / 5843 / 1585
Регистрация: 18.10.2014
Сообщений: 14,499
17.04.2016, 19:02 2
Вызов функции в языке С++ делается при помощи оператора ().
4
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 22
11.08.2019, 11:56 3
Спасибо, просто сейчас мы говорим про метод. А с обычной функцией без скобок у меня просто не выполнялось тело функции, но компилятор всё нормально собирал
0
зомбяк
1565 / 1214 / 345
Регистрация: 14.05.2017
Сообщений: 3,936
11.08.2019, 12:00 4
AlexeyBelenkov, в C++ (да и вообще) метод класса также называется функцией класса. Так что не
user.vvod;
а
C++
1
user.vvod();
Добавлено через 45 секунд
А то о чём неправильно сказал, называется "поле класса".
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2019, 12:00
Помогаю со студенческими работами здесь

Ошибка C3867 "нестандартный синтаксис; используйте "&", чтобы создать указатель на член"
pictureBox1-&gt;Invalidate; Вызывает ошибку C3867. Что сделать то нужно? И почему тогда vs сама...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов-...

Ошибка: "Stack::Pop": нестандартный синтаксис
Ошибка: &quot;Stack::Pop&quot;: нестандартный синтаксис; используйте &quot;&amp;&quot;, чтобы создать указатель на член . ...

Поиск в массиве. Ошибка "Оператор "&&" не может применяться к операндам типа "bool" и "double""
Найти номер последнего минимального элемента среди положительных четных элементов, лежащих правее...

Оператор "&&" не может применяться к операндам типа "bool" и "double", что не так?
Показывает ошибку&quot;Оператор &quot;&amp;&amp;&quot; не может применяться к операндам типа &quot;bool&quot; и &quot;double&quot;&quot;...

"ASUS F5R": драйвер для "Wi-Fi" - PCI\VEN_168C&DEV_001C&SUBSYS_10261A3B&REV_01
Какой из драйверов на сайте ASUS следует скачивать? (см. рис.1) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru