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

error: invalid use of non-static member function ‘int aim1::getlenght()

25.04.2023, 17:21. Показов 754. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте! Возникла проблема, домашка по ++, где-то я ошибся, а как решить не знаю. error: invalid use of non-static member function ‘int aim1::getlenght()’ я так понимаю это она, но как исправить не знаю

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
#include <iostream>
#include <cassert>
#include <string>
#include <cmath>
#define _USE_MATH_DEFINES
using namespace std;
class aim1{
    private:
        int x1, y1, x2, y2;
    public:
        aim1() : x1(0), y1(0), x2(0), y2(0) {}
        aim1(int x1, int y1, int x2, int y2) : x1(x1), y1(y1), x2(x2), y2(y2) {}
        int getX1() { return x1; }
        void setX1(double x1) { x1 = x1; }
        int getY1() { return y1; }
        void setY1(double y1) { y1 = y1; }
        int getX2() { return x2; }
        void setX2(double x2) { x2 = x2; }
        int getY2() { return y2; }
        void setY2(double y2) { y2 = y2; }
        string getr() { 
            if(x1 == x2 && y1 == y2) {return "Векторы равны";}
            return "Векторы не равны";
        }
        int getlenght() {
            
            return sqrt(pow(x1, 2) + pow(y1, 2));
        }
        int getlenght1() {
            
            return sqrt(pow(x2, 2)+pow(y2, 2));
        }
        
};
 
int main(){
    double x1, y1, x2, y2;
    cout << "Введите значениe x1\n";
    cin >> x1; 
    cout << "Введите значениe y1\n";
    cin >> y1;
    cout << "Введите значениe x2\n";
    cin >> x2;
    cout << "Введите значениe y2\n";
    cin >> y2;
    aim1 aim(x1, y1, x2, y2);
    cout << "Длина первого вектора равна " << aim.getlenght << endl; //error: invalid use of non-static member function ‘int aim1::getlenght()’
    cout << "Длина второго вектора равна " << aim.getlenght1 << endl; //error: invalid use of non-static member function ‘int aim1::getlenght()’
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.04.2023, 17:21
Ответы с готовыми решениями:

Invalid use of member in static member function
Здравствуйте! У меня есть класс: class foo{ public: foo(); ~foo(); int m_number;

Ошибка: invalid use of non-static member function
#include &lt;iostream&gt; using namespace std; class fraction { fraction(double var_sum) {

Массив в классе. Ошибка error: invalid use of non-static data member
class MyClass { // ... private: int mont; // число дней в месяце int days; };Возвращает ошибку error: invalid use...

3
фрилансер
 Аватар для Алексей1153
6457 / 5659 / 1130
Регистрация: 11.10.2019
Сообщений: 15,075
25.04.2023, 17:32
Лучший ответ Сообщение было отмечено leq как решение

Решение

Цитата Сообщение от leq Посмотреть сообщение
<< aim.getlenght() << endl;
Цитата Сообщение от leq Посмотреть сообщение
<< aim.getlenght1() << endl;
скобки нужно
1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12938 / 6805 / 1821
Регистрация: 18.10.2014
Сообщений: 17,227
25.04.2023, 17:32
Цитата Сообщение от leq Посмотреть сообщение
cout << "Длина первого вектора равна " << aim.getlenght << endl;
Что означает запись aim.getlenght? Что это должно делать?
0
0 / 0 / 0
Регистрация: 26.11.2022
Сообщений: 8
25.04.2023, 17:44  [ТС]
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
#include <iostream> 
#include <cassert> 
#include <string> 
#include <cmath> 
#define _USE_MATH_DEFINES 
using namespace std; 
class aim1{ 
    private: 
        int x1_1, y1_1, x2_2, y2_2; 
    public: 
      aim1() : x1_1(0), y1_1(0), x2_2(0), y2_2(0) {} 
      aim1(int x1, int y1, int x2, int y2) : x1_1(x1), y1_1(y1), x2_2(x2), y2_2(y2) {} 
      int getX1() { return x1_1; } 
      void setX1(double x1) { x1_1 = x1; } 
      int getY1() { return y1_1; } 
      void setY1(double y1) { y1_1 = y1; } 
      int getX2() { return x2_2; } 
      void setX2(double x2) { x2_2 = x2; } 
      int getY2() { return y2_2; } 
      void setY2(double y2) { y2_2 = y2; } 
      string getr() {  
        if(x1_1 == x2_2 && y1_1 == y2_2) {return "Векторы равны";} 
            return "Векторы не равны"; 
        } 
        int getlenght() { 
            return sqrt(pow(x1_1, 2) + pow(y1_1, 2)); 
        } 
        int getlenght1() { 
            return sqrt(pow(x2_2, 2)+pow(y2_2, 2)); 
        }
}; 
 
int main(){ 
    double x1, y1, x2, y2; 
    cout << "Введите значениe x1\n"; 
    cin >> x1;  
    cout << "Введите значениe y1\n"; 
    cin >> y1; 
    cout << "Введите значениe x2\n"; 
    cin >> x2; 
    cout << "Введите значениe y2\n"; 
    cin >> y2; 
 aim1 aim(x1, y1, x2, y2); 
 cout << aim.getr() << endl;
 cout << "Длина первого вектора равна " << aim.getlenght() << endl; 
 cout << "Длина второго вектора равна " << aim.getlenght1() << endl; 
 return 0; 
}
сделал так

Добавлено через 21 секунду
Спасибо брат!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2023, 17:44
Помогаю со студенческими работами здесь

error C2352: 'OGLDevice::CreateGLWindow' : illegal call of non-static member function
Когда подключаю DLL и компилирую код выдает эту ошибку. В чем проблема? error C2352: 'OGLDevice::CreateGLWindow' : illegal call of...

Указатель на метод: "invalid use of non-static member function"
class A { public: void func(); }; int main() { void (*pFunc) (); pFunc = A::func;

Ошибка: "error: invalid use of member function ‘std::__cxx11::basic_string..."
Здравствуйте, программировал задачу на onlineGDB(C++ 20), GDB выводит такие ошибки main.cpp:29:16: error: invalid use of member function...

Ошибки: "invalid use of non-static data member", "error: from this location"
Здравствуйте. Помогите пожалуйста понять в чём я не прав. Почему компилятор не даёт объявить указатель на структуру и почему я не могу...

Массив в структуре. invalid use of non-static data member
Добрый день. Есть структура, понадобилось добавить в неё массив с дин. размером. struct MyStruct { // ... uint16_t...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru