Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 20

Не могу обратиться к методу класса в функции

09.12.2011, 21:07. Показов 1655. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. При написании программы возникла проблема - в функции не могу обратиться к методу класса: компилятор выдаёт ошибку "passing 'const ROADS' as 'this' argument of 'char ROADS::ret_rt()' discards qualifiers".
Вот описание класса.
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
class ROADS                     //Класс дорог
{
    private:
    long double X0, Y0, X1, Y1, radius, alpha, omega;//Координаты начала, конца или центра окружности, радиус, начальный и конечный угол, ширина полосы 2 метра
    long double PointOfGrav, PARK;                   //Коэфициент притяжения
    int minspeed,maxspeed;                           //Максимально и минимально допустимые скорости
    char roadtype;                                   //Кольцо или линия
    public:
    char ret_rt(){return roadtype;};
};
В main объявляю массив объектов следующим образом
int main()
{...
int NumOfRoad=numberroad(inputfile);
ROADS ROAD[NumOfRoad];
...}
И наконец суть - функция, в которую я передаю указатель на массив объектов класса дорог
void distribution(const ROADS* road[], const int nor, CARS* cardis[], const int kolcar)
{
    long double sum=0;
    const int cnstkolcar=kolcar;
    for (int i=0; i<nor;i++)//Вычисляем общую длину дорог
    {
        char ch = road[i]->ret_rt();//В этой строчке компилятор выдаёт вышеприведённую ошибку
        switch (ch)
        ...
Пожалуйста, подскажите в чём проблема и если можно, то способ её решения. Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2011, 21:07
Ответы с готовыми решениями:

Как обратиться к методу класса из внешней функции?
Имеется простой класс Employee с методами GetAge() - возвращает возраст, и SetAge(int age). Как сделать так, чтобы работали функции...

Обратиться из класса к методу другого класса
Доброе время суток коллеги есть вопрос как обратиться с одного метода класса к другому Пример: class A{ protected $a; ...

Как обратиться к методу текущего класса
Вообщем такая проблема. У нас есть класс в этом классе есть метод. И нам нужно в теле данного класса обратиться к этому методу. Вопрос...

2
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
09.12.2011, 21:59
Вы пытаетесь вызвать неконстантную функцию через указатель на константу.
const ROADS* road[] - что вот это? константный массив на указатели? или может массив на константные указатели? а как выглядит константный массив на неконстантные указатели? Короче, подобная запись лишь запутывает. Везде, где нужно передавать массивы достаточно пользоваться парой аргументов: указатель на начало массива + количество элементов массива. Наличие квадратных скобок мне кажется лишней.
0
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
09.12.2011, 22:29
либо сделать функцию в классе константной,по стандарту она получает this-неконстантный
а массив у вас именно из константных классов.

C++
1
 char ret_rt() const {return roadtype;};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2011, 22:29
Помогаю со студенческими работами здесь

Как обратиться к методу из другого класса
Доброго времени суток. Продолжаю изучение C#, и вот я с вопросом. Имеются 2 класса в отдельных файлах в сборке. Мне из первого класса...

Как обратиться к методу из другого метода внутри одного и того же класса
Доброго времени суток. Продолжаю изучение C#, и вот моя третья тема (или четвертая, за сегодня) с вопросом. А не получается вот, что... ...

Как обратиться к методу класса из формы и вывести в ней же (например на метке) результат действий этого метода
Помогите разобраться в этом элементарном вопросе! Какая то затыка не дает получить нужный результат вот код моего класса: using System;...

Класс: как обратиться к методу производного класса через итератор на базовый класс?
Есть абстрактный и два порожденных. Хочу создать например list&lt;Base*&gt; list1; затем добавляю себе в список: ...

Не могу обратиться к членам базового класса
Не могу обратиться к членам базового класса, если они в protected. Почему так? Ведь мы же наследуемся от него, а значит и можем обращаться...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru