Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Не могу получить доступ к члену класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу найти ошибку в алгоритме Флойда-Уоршелла http://www.cyberforum.ru/cpp-beginners/thread1246233.html
Дан ориентированный граф, рёбрам которого приписаны некоторые неотрицательные веса (длины). Найти длину кратчайшего пути из вершины s в вершину t. Формат входных данных В первой строке заданы три...
C++ Нужна проверка, имеет ли судоку решение Здравтсвуйте! В данный момент пишу программу которая решает судоку: Критика кода приветствуется. main.cpp #include <fstream> http://www.cyberforum.ru/cpp-beginners/thread1246229.html
C++ Как установить количество элементов в строке массива?
как установить по 5 элементов в строке массива?
Прочитать несколько секунд wav файла в массив C++
Есть win32 проект в Студии. Задача - запросить диалог выбора wav файла, проверить что это wav файл, прочитать его хедер, взять оттуда нужные данные в виде чисел - битрейт, количество каналов, формат...
C++ Есть ли готовая функция для работы с массивами? http://www.cyberforum.ru/cpp-beginners/thread1246178.html
Подскажите, что за функция в cpp есть, для форматирования массивов? Вот в павне можно было сделать так: char str; format(str, 256, "color %x", 1); //справа параметры, как printf, только...
C++ Метод не возвращает значение Здравствуйте. Создал простейший метод, для возвращения введённого значения. А возвращает то-адрес, то-ли что-то непонятно. Прошу объяснить в чём проблема // ConsoleApplication18.cpp: определяет... подробнее

Показать сообщение отдельно
m5willmax
1 / 1 / 0
Регистрация: 23.08.2014
Сообщений: 8

Не могу получить доступ к члену класса - C++

23.08.2014, 16:43. Просмотров 360. Ответов 2
Метки (Все метки)

Недавно начал изучать C++ и SDL и появилась проблема с кодом. Я могу создать поверхность(см. код) с помощь thisFunctionWoks, но не могу создать ее при помощи thisFunctionDoesntWork. В первом случае идет присваивание результата метода "B" класса члену "A" класса, а во втором член "A" класса передается в метод "B" класса. Как мне нужно исправить код, чтобы вторая функция заработала? Я подразумеваю ответ "она не работает, потому что неправильно написал здесь и здесь. Прочитай про ...., а чтобы все заработало нужно исправить вот этот код .... на этот код ....". Заранее благодарю откликнувшихся

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
//A.h 
#include "SDL.h" 
#include <string> 
class A{ 
public: 
   SDL_Surface *mSurface; //Поверхность
   string mPath; 
   A(string path); 
}; 
 
//A.cpp 
#include "A.h" 
A::A(string path){ 
   mPath=path; 
   mSurface = nullptr; 
} 
 
//B.h 
#include "SDL.h" 
#include <string> 
class B{ 
public: 
   B(); 
   SDL_Surface *thisFunctionWorks (string file); 
   void thisFunctionDoesntWork (string file, SDL_Surface *surface); 
}; 
 
//B.cpp 
#include "B.h" 
B::B(){ 
} 
 
//Определение SDL_loadBMP из SDL.h такое SDL_Surface* SDL_LoadBMP(const char* file). 
 
SDL_Surface *B::thisFunctionWorks(string file){ 
   SDL_Surface *surface = nullptr; 
   surface = SDL_LoadBMP(file.c_str()); 
   return surface; 
} 
 
B::thisFunctionDoesntWork (string file, SDL_Surface *surface){ 
   surface = SDL_LoadBMP(file.c_str()); 
} 
 
//main.cpp 
#include "A.h" 
#include "B.h" 
int main(int argc, char* argv[]) { 
   A *a; 
   a = new A("file.bmp"); 
   B *b; 
   b = new B(); 
   a->mSurface=b->thisFunctionWorks(a->mPath); 
   b->thisFunctionDoesntWork (a->mPath, a->mSurface); 
   return 0; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru