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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу найти ошибку в алгоритме Флойда-Уоршелла http://www.cyberforum.ru/cpp-beginners/thread1246233.html
Дан ориентированный граф, рёбрам которого приписаны некоторые неотрицательные веса (длины). Найти длину кратчайшего пути из вершины s в вершину t. Формат входных данных В первой строке заданы три числа: число вершин в графе N ≤50, номера вершин s и t. Далее идёт матрица смежности графа, то есть N строк, в каждой из которых записано N чисел. j-ое число в i-ой строке матрицы смежности задает...
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, только записывается в массив. system(str); Вот в c++ нет такой, а как же тогда форматировать массивы?
C++ Метод не возвращает значение Здравствуйте. Создал простейший метод, для возвращения введённого значения. А возвращает то-адрес, то-ли что-то непонятно. Прошу объяснить в чём проблема // ConsoleApplication18.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; подробнее

Показать сообщение отдельно
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
23.08.2014, 17:44     Не могу получить доступ к члену класса
Цитата Сообщение от m5willmax Посмотреть сообщение
B::thisFunctionDoesntWork (string file, SDL_Surface *surface)
Иногда создается впечатление, что указатели, как будто гипнотизируют новичков
Вот если я запишу вот так:
C++
1
2
3
4
B::thisFunctionDoesntWork (string file, int s)
{
    s = 20;
}
Ты будешь ждать, что вызывающая стороны увидит изменения s?
Короче, указатель - это "объект", в этом смысле такой же как и int, и string . Он копируется точно так же. Изменения скопированного значения адреса внутри функции никак не отразится на оригинальном значении адреса на вызывающей стороне.
Посему, нужно использовать указатель на указатель
C++
1
2
3
4
B::thisFunctionDoesntWork (string file, SDL_Surface **surface)
{
   *surface = SDL_LoadBMP(file.c_str()); 
}
либо ссылку на указатель
C++
1
2
3
4
B::thisFunctionDoesntWork (string file, SDL_Surface * & surface)
{
   surface = SDL_LoadBMP(file.c_str()); 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru