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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
#1

Функция компилируется, но вызывает виндовс ошибку - C++

17.12.2010, 13:58. Просмотров 281. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
   int r=replace(str, c1, c2);
return 0;
 
 
int replace(char *str, char c1, char c2)
{
    int count=0;
    while(*str)
    {
        if(*str == c1)
        {
            *str = c2; 
            count++;
        }
    }
    return count;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 13:58     Функция компилируется, но вызывает виндовс ошибку
Посмотрите здесь:

Почему встроенная функция вызывает конструктор копирования? C++
Функция с переменным количеством аргументов вызывает out of memory C++
Функция вызывает сама себя 10 раз C++
C++ Перечисление в классе вызывает ошибку
C++ Перенос проекта VisualStudio2008 на другой компьютер вызывает ошибку C2381
C++ Объявление вызывает ошибку
Программа не компилируется. Не могу найти ошибку C++
C++ Шаблон класса деструктор вызывает ошибку
Не компилируется статическая функция C++
C++ Не компилируется программа, найти ошибку
Выдает ошибку в функции в условии if. Не вызывает firstName, secondName и patron C++
C++ Resize вектора вызывает ошибку

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 14:14     Функция компилируется, но вызывает виндовс ошибку #2
grrrrr, странно, у меня она вообще не компилируется. Где у вас обявление строки str, переменных с1 и с2?
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
17.12.2010, 14:21     Функция компилируется, но вызывает виндовс ошибку #3
grrrrr,
Цитата Сообщение от grrrrr Посмотреть сообщение
while(*str)
у Вас в бесконечном цикле один и тот же элемент проверяется

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int replace(char *str, char c1, char c2)
{
    int count=0;
    while(*str)
    {
        if(*str == c1)
        {
            *str = c2; 
            count++;
        }
        ++str;
    }
    return count;
}
Yandex
Объявления
17.12.2010, 14:21     Функция компилируется, но вызывает виндовс ошибку
Ответ Создать тему
Опции темы

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