• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Ошибки в программе помогите исправить

  • Автор темы Andersen1313
  • Дата начала
A

Andersen1313

Препод сначала сказал что можно писать на любом Си... хоть Си++ хоть просто Си. написал на Си++(не без помощи конечно). Теперь он говорит что надо писать на Си..
Теперь пытаюсь исправить прогу на Си.. выдает много ошибок помогите разобраться...

[BCC32 Error] File1.c(41): E2451 Undefined symbol 'new'
[BCC32 Error] File1.c(41): E2379 Statement missing ;

*Sl[sl] = new char[bufesize]; //Динамически выделим память для слова

[BCC32 Error] File1.c(67): E2451 Undefined symbol 'new'
[BCC32 Error] File1.c(67): E2141 Declaration syntax error

*Sl[sl] = new char[bufesize]; //Динамически выделим память для слова

[BCC32 Error] File1.c(71): E2379 Statement missing ;

SlW[slw] = new char[width+1]; //Выделим память под строку размером ширина-колонки +1

[BCC32 Error] File1.c(95): E2109 Not an allowed type

SlW[slw] = new char[width+1]; //Выделим память под строку размером ширина-колонки +1

[BCC32 Error] File1.c(108): E2188 Expression syntax
[BCC32 Error] File1.c(108): E2451 Undefined symbol 'm'
[BCC32 Error] File1.c(108): E2379 Statement missing ;

for (int m=0; m<dt;m++)

[BCC32 Error] File1.c(121): E2188 Expression syntax
[BCC32 Error] File1.c(121): E2379 Statement missing ;

for (int j=0; j < NomSpace && dt>0; j++) //Поставим наши разрывы, но с проверкой на отклонение

[BCC32 Error] File1.c(133): E2451 Undefined symbol 'delete'
[BCC32 Error] File1.c(133): E2188 Expression syntax

delete[] temp; //Почистим темп
 
I

ierofant

Не удивительно, что он выдаёт тебе ошибки, в С оператора new не существует. Для работы с динамической памятью там используется семейство функций malloc.
 
L

lazybiz

*Sl[sl] = new char[bufesize];
Замени на:
*Sl[sl] = malloc( bufesize );
Остальные по аналогии..

delete[] temp; //Почистим темп
free( temp );

[BCC32 Error] File1.c(121): E2188 Expression syntax
[BCC32 Error] File1.c(121): E2379 Statement missing ;

for (int j=0; j < NomSpace && dt>0; j++) //Поставим наши разрывы, но с проверкой на отклонение
Тут определение i вынеси в начало функции.
 
D

DarkKnight

2 Andersen1313, в таких случаях все же лучше постить код целеком.... Ошибка может тянуться цепочкой...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!