Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 14.10.2013
Сообщений: 58

Не статическая ссылка не член должна указываться относительно заданного объекта (ООП)

27.03.2017, 16:42. Показов 3672. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Собственно, возникла данная проблема: у меня есть один родительский класс (shape) и несколько дочерних. В родительском объявленная обычная функция int comparePerimeter(shape&, shape&), а также виртуальная virtual float perimetr() = 0. Эта виртуальная ф-ия определяется в каждом из дочерних. Ф-ия сравнения периметров определяется в родительском классе:
C++
1
2
3
4
5
6
7
8
9
10
int shape::comparePerimeter(shape& first, shape& second)
{
    if(first.perimetr() == second.perimetr()){
        return 0;
    }else if(first.perimetr() > second.perimetr()){
        return 1;
    }else{
        return -1;
    }
}
В основном файле проекта объекты задаются так:
C++
1
2
3
static circle fig1 = circle(...);
static ellipse fig2 = ellipse(...);
static arc fig3 = arc(...);
При попытке вызова ф-ии сравнивания периметров в основном файле:
C++
1
2
3
4
5
6
7
8
circle cc = fig1;
ellipse ee = fig2;
arc aa = fig3;
 
//В каждой из этих строк ошибка в вызове ф-ии
cout << "Circle vs Ellipse: " << shape::comparePerimeter(cc, ee) << endl;
cout << "Circle vs Arc: " << shape::comparePerimeter(cc, aa) << endl;
cout << "Ellipse vs Arc: " << shape::comparePerimeter(ee, aa) << endl
Возникает ошибка. В чём проблема? Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2017, 16:42
Ответы с готовыми решениями:

Нестатическая ссылка не член должна указываться относительно заданного объекта
Собственно проблема (пока что) в 117 и 118 строчках. Кто подскажет как её решить, тот получит от меня &quot;спасибо&quot; ^_^ а если...

нестатическая ссылка не член должна указываться относительно заданного объекта
выдает очень много этих ошибок в коде. в строчках 93, 100, 102, 104, 105, 112, 118, 119, 124, 129, 135, 136 #include &lt;iostream&gt; ...

Ошибка: нестатическая ссылка не член должна указываться относительно заданного объекта
Есть класс class Primitive_triangle { private: GLuint VAOhandles; GLuint VBOhandles; //Элемент массива обрабатываемый...

1
 Аватар для rao
903 / 424 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
27.03.2017, 16:51
вызывать таким образом:
C++
1
shape::comparePerimeter(...)
можно только статические методы, а он у тебя, как ты сам написал НЕ статический.
(т.е. сделай его static)

или создавай объект типа shape и потом вызывай:
C++
1
2
shape myObject;
myObject.comparePerimeter(..);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2017, 16:51
Помогаю со студенческими работами здесь

нестатическая ссылка на член должна указываться относительного заданного объекта
Подскажите что не так? (ошибка в конструкторе puckMan.cpp) gameElement.h #pragma once class gameElement { public: ...

Исправить ошибку : нестатическая на член должна указываться относительно заданного объекта
Как исправить? нестатическая на член должна указываться относительно заданного объекта в строке 95 #include &quot;stdafx.h&quot; ...

Ссылка на член, не являющийся общим, должна быть ссылкой на объект
Подскажите пожалуйста, почему возникает такая ошибка в подобном коде: Public Class Form something.Something3() End Class ...

Ссылка на член, не являющийся общим, должна быть ссылкой на объект при инициализации формы
Как это исправить? Из-за чего появляется это сообщение? Добавлено через 10 минут Подробности: Ошибка появляется в коде: ...

[ООП] Ссылка на объект в контексте этого объекта
Привет! Тут столкнулся с такой ситуацией: var obj = { a: 1024, b: &quot;lorem&quot;, c: new...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru