С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
14 / 14 / 6
Регистрация: 23.02.2010
Сообщений: 221

<method name> is not a member of <class> при любом типе возвращаемого значения, кроме int

06.06.2013, 08:03. Показов 1140. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема в следующем, есть класс описанный в .h файле, методы класса описаны в .cpp, при компиляции ошибка:
C++
1
[BCC32 Error] BMPImage.cpp(3): E2316 'BMPImage::GetImage()' is not a member of 'BMPImage'
Заметил, что если менять тип возвращаемого значения с char** на int то ошибка исчезает. Так же при смене типа возвращаемого значения у других методов, возникает та же ошибка для них.
BMPImage.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma requre_once
#include <windows.h>
#include <stdio.h>
class BMPImage {
    public:
    char** GetImage();
    int GetWidth();
    int GetHight();
 
    //Load image from path
    bool load(char*);
    //Destructor
    BMPImage();
    ~BMPImage();
    private:
        BITMAPFILEHEADER fileHeader;
        BITMAPINFOHEADER infoHeader;
        char **image;
};
BMPImage.cpp
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
#include <BMPImage.h>
#include <stdio.h>
BMPImage::GetImage() {
    return image;
}
 
BMPImage::GetWidth() {
    return infoHeader.biWidth;
}
 
BMPImage::GetHight() {
    return infoHeader.biHeight;
}
 
// Load image from path
BMPImage::load(char *path) {
    // File prt
    FILE *pFile;
    pFile = fopen(path, "rb");
    if (pFile == NULL) {
        // Can't open file
        return 0;
    }
    // BITMAPFILEHEADER read
    fread(&fileHeader, sizeof(BITMAPFILEHEADER), 1, pFile);
    // BITMAPINFOHEADER read
    fread(&infoHeader, sizeof(BITMAPINFOHEADER), 1, pFile);
    // Set cursor to begin of image
    fseek(pFile, (long)fileHeader.bfOffBits, SEEK_SET);
    // Alloc memory to image
    image = new char*[infoHeader.biHeight];
    for (int i = 0; i < infoHeader.biHeight; i++) {
        image[i] = new char[infoHeader.biWidth];
    }
    // Write image to array
    for (int y = infoHeader.biHeight - 1; y >= 0; --y) {
        fread(image[y], (infoHeader.biBitCount / 8) * infoHeader.biWidth, 1,
            pFile);
        fseek(pFile, 4 - infoHeader.biWidth % 4, SEEK_CUR);
    }
    fclose(pFile);
    return 1;
}
 
BMPImage::BMPImage() {
    image = 0;
}
 
BMPImage::~BMPImage() {
    if (this->image == NULL) {
        return;
    }
    for (int i = 0; i < infoHeader.biHeight; i++) {
        delete[]image[i];
    }
    delete[]image;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2013, 08:03
Ответы с готовыми решениями:

Почему у функции main() тип возвращаемого значения - int?
Здравствуйте! В языке C# main &quot;свободный&quot;: void main (). Логично, поскольку программа - это набор операторов, которые в общем смысле ничего...

'fr.java': Ошибка #: 300 : method getObject(int) not found in class java.lang.String строка 33, символ 18
'fr.java': Ошибка #: 300 : method getObject(int) not found in class java.lang.String строка 33, символ 18

[C++ Error] Unit1.cpp(50): E2316 '_fastcall TForm1::Vector(int,int,int,int)' is not a member of 'TForm1'
есть событие набраное в Unit.cpp, при запуске программы выбивается ошибка: Unit1.cpp(50): E2316 '_fastcall...

2
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
06.06.2013, 08:12
выделим только необходимое:
C++
1
2
3
4
5
char** GetImage();//Объявление
//...
BMPImage::GetImage() {//Реализация.
    return image;
}
Где возвращаемое значение?

Добавлено через 3 минуты
Собственно, других функций это тоже касается(ну кроме конструкторов/деструкторов)
1
14 / 14 / 6
Регистрация: 23.02.2010
Сообщений: 221
06.06.2013, 08:13  [ТС]
Croessmah, Спасибо, понял как нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2013, 08:13
Помогаю со студенческими работами здесь

Create a programm that creates an object of created class Time and tests the member functions of class
Time Class Create a class called Time that might be used to represent time. 1. Your class should include three data...

Ошибка E2333: Class member declared outside its class
Доброго времени суток,подскажите в чём дело? //--------------------------------------------------------------------------- #include...

Cannot convert method group 'to_get' to non-delegate type 'int'. Did you intend to invoke the method?
При обращении в методе объекта к методу объекта другого класса, вываливается такая ошибка. Причём код всёравно работает без косяков ...

Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int')
Есть такие строки: std::list&lt;c_bullet*&gt; Bullets; ... for(auto i = Bullets.begin(); i != Bullets.end(); /**/) В строке цикла вот...

Что означает ошибка pascal: function header doesn't match any method of this class "fig.draw(Smallint,Smallint,Smallint,Smallint,Smallint,Small int
Что это значит?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru