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

Null pointer assignment. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Литература по WebBrowser для C++ http://www.cyberforum.ru/cpp-beginners/thread344787.html
Подскажите учебник по использованию компонента WebBrowser для С++.Т.к мне на МСДН нечего не понятно - я еще новичек , или названия книжек где хотя бы в не которых главах описывают за WebBrowser.
C++ Общие вопросы для реальной работы Привет! Скажите пожалуйста на сколько рально самостоятельно изучить С++, что бы потом работать обычным программистом и иметь спрос работодателей на рынке труда? http://www.cyberforum.ru/cpp-beginners/thread344783.html
C++ генерация последовательности случайных чисел
можно ли считать что при генерации последовательности случайных чисел с помощью функций srand и rand при одном и том же начальном значении всегда будет генерироваться одна и таже последовательность, в том числе на разных компьютерах?
Отправка содержимого текстового файла на почту C++
Добрый вечер. Есть код сендера: IdSMTP1->AuthenticationType=atLogin; IdSMTP1->UserId = "qwerty@yandex.ru"; IdSMTP1->Password = "****"; IdSMTP1->Host = "smtp.yandex.ru"; IdSMTP1->Port = 25;
C++ Ошибка приведенного оператора, альтернативы http://www.cyberforum.ru/cpp-beginners/thread344758.html
4.31 Чем ошибочен приведенный ниже оператор? Напишите правильный оператор, который бы выполнял то, что пытался, вероятно, сделать программист. cout « ++( х + у ); Попробовал выдает ошибку, решил сделать так #include "stdafx.h" #include <iostream> int main()
C++ Не могу исправить ошибку :113 H:\Dev-Cpp\Проекты\уроки\Безымянный3.cpp cannot convert `IDirectDraw7**' to `IDirectDraw**' for argument `2' to `HRESULT DirectDrawCreate(GUID*, IDirectDraw**, IUnknown*) Недавно начал изучать оконные программы и работу с DirectX. Но при написании программы столкнулся с проблемой: не могу исправить одну ошибку...Хотя код вроде бы верный.Пожалуйста помогите,уважаемые форумчане.Вот текст ошибки:113 H:\Dev-Cpp\Проекты\уроки\Безымянный3.cpp cannot convert `IDirectDraw7**' to `IDirectDraw**' for argument `2' to `HRESULT DirectDrawCreate(GUID*, IDirectDraw**,... подробнее

Показать сообщение отдельно
Stalin45
2 / 2 / 0
Регистрация: 24.04.2011
Сообщений: 66
24.08.2011, 00:20     Null pointer assignment.
Здравствуйте. Такая проблема: Пытаюсь вызвать функция класса Up()
s2 = s1.up(), возвращая указатель на строку (по-умолчанию в s2 пустая строка имеет адрес NULL).
Вот только почему передается не ссылка, а само значение строки, поскольку компилятор пишет: null pointer assignment. Значит ссылка не поменялась, и он, не выделив память, прострочил прямо с нулевого адреса...
И второй вопрос, как можно в данном случае все-таки передать значение (хотя первый вопрос в силе), но так, чтобы выделить точное кол-во памяти под передаваемую строку в s2?
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
#include "iostream.h"
#include "CONIO.h"
#include "Ctype.h"
#include "string.h"
using namespace std;
class String
{
 private:
  char* st;
 public:
  String(): st(NULL) {}
  String(char* str) {int len = strlen(str);
             st = new char[len+1]; strcpy(st, str);
            }
  ~String() {delete st;}
  void show()const {cout<<endl<<st;}
  String up() {int len = strlen(st);
           for(int i=0; i<len; i++) st[i] = toupper(st[i]); return st;
          }
};
///////////////////
int main()
{
 String s1 = "Test yes TEsT";
 String s2;
 s2 = s1.up();
 s2.show();
 getch();
return 0;
}
Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru