Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 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. Показов 1163. Ответов 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
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru