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

функция - C++

Восстановить пароль Регистрация
 
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
07.03.2011, 11:04     функция #1
всем привет. Вот создал функцию, хотел попробовать в действии
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    char* rander(char* string, int start = 9) {
    
        int size = strlen(string);
 
        char* newstr;
        int i = 0;
        while( i < start ) {
        
            newstr[i] = string[start-1];    
        
        }
 
        return newstr;
 
    }
а она выдает вот такую ошибку, то есть выдает, когда я вызываю функцию, вот так

Run-Time Check Failure #3 - The variable 'newstr' is being used without being initialized
C++
1
2
3
4
    char* ob = "sfgvsdjkhglksdjf";
    char* newob;
    newob = rander(ob);
    cout << newob;
как это исправить и желательно скажите пожалуйста, из-за чего подобного рода ошибки получаются?

Добавлено через 50 секунд
в ошибке вроде сказано, что переменная используется раньше чем объявляется?
Но это же не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2011, 11:04     функция
Посмотрите здесь:

что за функция такая strstr? или это не функция? C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() C++
Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива C++
C++ Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
есть функция которая размещает 2 числа в порядке возрастания, значения в эту функцию передаю по указателю, но по указателям функция их не сортирует C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
07.03.2011, 11:25     функция #2
newstr у тебуя указатель на char, чтобы его использовать в качестве строки, нужно сначала выделить память под эту строку, и записать адрес в указатель.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char* rander(char* string, int start = 9) 
{
        
   size_t size = strlen(string);
   char* newstr;
   int i = 0;
   
   newstr = new char [size+1];
   while( i < start ) 
   {
      newstr[i] = string[start-1];
      i++;
   }
   return newstr;
}
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
07.03.2011, 12:33  [ТС]     функция #3
спасибо. на счет увеличения переменной и - это я по клавиатуре промахнулся

Добавлено через 4 минуты
мне через пару месяцев поступать в информационный колледж, можете мне сказать, сколько знаний С++ мне там по идее должны дать?

Добавлено через 49 минут
Подскажите?

Добавлено через 41 секунду
а то просто помню, как я учил РНР, дали знания, начальные, а дальше я привык к синтаксису и изучал его сам

Добавлено через 35 секунд
сейчас разрабатываю соц. сеть и мне интересно, дадут ли мне такие же знания, что бы я мог продолжить

Добавлено через 33 секунды
по С++ в смысле, заранее спасибо
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
07.03.2011, 12:58     функция #4
Цитата Сообщение от BTR Посмотреть сообщение
мне через пару месяцев поступать в информационный колледж, можете мне сказать, сколько знаний С++ мне там по идее должны дать?
колледж колледжу рознь.
Yandex
Объявления
07.03.2011, 12:58     функция
Ответ Создать тему
Опции темы

Текущее время: 14:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru