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

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

Войти
Регистрация
Восстановить пароль
 
sardinka
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 87
#1

Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL); - C++

16.07.2008, 00:10. Просмотров 806. Ответов 2
Метки нет (Все метки)

Cho ne pravilno v sledyushem code:
#define ALL;
........
ClearBuffer(Buffer,sizeof(Buffer));
WRITE(Buffer,test,20,ALL);
............
Gde test eto string 20 char long.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2008, 00:10     Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL);
Посмотрите здесь:

CRT detected that the application wrote to memory before start of heap buffer C++
Buffer Overrun Issues C++
Memcpy, buffer overflow. Может ли возникнуть ошибка в функции memcpy C++
При вызове конструктора ошибка: L "Buffer is too small" & & 0 C++
C++ Ошибка с delete [] - "CRT detected that the application wrote to memory after end of heap buffer"
C++ CRT detected that the application wrote to memory after end of heap buffer
Ошибка: "Unhandled exception: Stack cookie instrumentation code detected a stack-based buffer overrun" C++
Strcpy_s выдает ошибку buffer is too small C++
C++ Ошибка: CRT detected that the application wrote to memory after end of heap buffer
C++ Strcpy_s выдает ошибку L Buffer is too small & & 0
C++ Fwrite (buffer , sizeof(char), sizeof(buffer), pFile)
C++ Crt detected that the application wrote to memory after end of heap buffer

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
daxter
Сообщений: n/a
17.07.2008, 02:33     Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL); #2
Вот это не правильно:
#define ALL;
После диррективы #define НЕ НАДО ';'!
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
17.07.2008, 04:19     Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL); #3
Привет !

Абсолютно согласен с автором предыдущего ответа, но неправильна не точка с запятой, а интерпретация самого #define, и вообще непонятно чего автор хочет добиться таким кодом ...
Код
#define SYMBOL 100
cout << 'Типа символ SYMBOL эквивалентен ' << SYMBOL << endl;
Таким образом я говорю препроцессору что в коде может присутствовать символ SYMBOL и его надо заменить на 100.
если же так:
Код
#define SYMBOL
cout << 'Типа символ SYMBOL эквивалентен ' << SYMBOL << endl;
// В конечном счёте это приведет либо к выводу пустой строки, либо к ошибке в зависимости от компилятора.
То юзать его можно только в качестве того что символ описан, из текста программы он будет изъят.
Текст из MSDN:
Syntax #define
#define identifier token-stringopt
...[skipped] ...
A #define without a token-string removes occurrences of identifier from the source file. The identifier remains defined and can be tested using the #if defined and #ifdef directives.

И всё!
P.S. Точка с запятой скорее всего приведёт к ошибке в тексте программы при подстановке макроса.

С Уважением Andir !
Yandex
Объявления
17.07.2008, 04:19     Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL);
Ответ Создать тему
Опции темы

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