Название: std::sort Отправлено: RuZ от Май 12, 2009, 19:44 Цель задания вывести все возможные комбинации, которые можно составить из заданных букв.
В Borland C++Builder код работает отлично, а в QT Creator 1.1.0 вылетает с ошибкой (exited with code -1073741819) вероятнее всего проблемы с выделением памяти. В чём может быть дело? Код: #include <string.h> Название: Re: std::sort Отправлено: Авварон от Май 12, 2009, 19:56 эм
Код: template<class RandomAccessIterator> Название: Re: std::sort Отправлено: Rcus от Май 12, 2009, 20:47 BCC пропускает это?
GCC сразу ругается на конверсию const char * в char *. А проблема в непонимании указателей (strings="bcdse"; -> Segmentation fault) Название: Re: std::sort Отправлено: RuZ от Май 12, 2009, 20:58 QT Creator, а значит и gcc ни на что не ругается, а просто программа уже потом вылетает с ошибкой.
Можете сказать что нужно сделать, что бы код заработал нормально? Если можно напишите верный алгоритм. Название: Re: std::sort Отправлено: Rcus от Май 12, 2009, 21:06 deprecated conversion from string constant to ‘char*’ (gcc 4.3.3)
Проще всего конечно не смешивать C и C++. Если уж пишете с использованием std, то к вашим услугам есть std::string. А наименьшие изменения, которые заставят код работать это замена strings="bcdse"; на strcpy(strings,"bcdse"); Название: Re: std::sort Отправлено: RuZ от Май 12, 2009, 21:20 Спасибо, всё работает, какой-то баг в QTCreator.
А какой бы другой способ рашения данной задачи предложили бы вы? Название: Re: std::sort Отправлено: sermp от Май 12, 2009, 21:34 если я не ошибаюсь, Вы забыли
Код: delete [] strings; а кто-нибудь может объяснить почему работает Код: std::sort(&strings[0], &strings[numStrings]); Название: Re: std::sort Отправлено: Авварон от Май 12, 2009, 21:53 подумав, решил, что в принципе ни во что не преобразовывается, так как для чара определены ++ и операции сравнения/присваивания - то есть классу, чтобы быть итератором, не нужно специфических полей/методов
Название: Re: std::sort Отправлено: pastor от Май 13, 2009, 12:02 Спасибо, всё работает, какой-то баг в QTCreator. QtCreator здесь непричем. |