User123 Опубликовано 15 апреля, 2015 Поделиться Опубликовано 15 апреля, 2015 Declaration syntax error в четвертой строчке MemoryHelp.hУже все по 10 раз перепроверил,не понимаю,что не так Показать контент Показать контент #include <Windows.h>#include <TlHelp32.h>class MemoryHelp{public: MemoryHelp(char* name,int size = 32); ~MemoryHelp(void); void openProc(DWORD rights = PROCESS_ALL_ACCESS); void closeProc();private: HANDLE pHandle; char* pName; byte* buffer; int bufferSize;};#include "MemoryHelp.h"MemoryHelp::MemoryHelp(char* name,int size){ int l = strlen(name)+1; pName = new char[l]; strcpy(pName,l,name); buffer = new byte[size];}MemoryHelp::~MemoryHelp(void){ delete[] pName; delete[] buffer;}void MemoryHelp::openProc(DWORD rights = PROCESS_ALL_ACCESS){}void MemoryHelp::closeProc(){} Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 15 апреля, 2015 Поделиться Опубликовано 15 апреля, 2015 Я думаю, что в 18-ой строчке надо убрать знак точку с запятой ";"Еще есть сомнения по strlen, возможно нужно добавить #include < string.h >Во всяком случае легко проверить ошибку последовательно удаляя функции из кода и добавляя их вновь после того как ошибка пропала. Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 15 апреля, 2015 Автор Поделиться Опубликовано 15 апреля, 2015 (изменено) Ни первое,ни второе,сейчас попробую удалять функции Ошибка осталась даже после того,как закомментировал все функции и переменные,так что вопрос все еще актуаленЕсли что,пишу в c++ builder Изменено 15 апреля, 2015 пользователем User123 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 апреля, 2015 Поделиться Опубликовано 15 апреля, 2015 В билдере вроде синтаксис слегка отличается. Вот пример класса:http://www.alciro.org/alciro/Programacion-cpp-Builder_12/ejemplo-clase-c_304_en.htm Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 15 апреля, 2015 Автор Поделиться Опубликовано 15 апреля, 2015 (изменено) Вот код,автоматически сгенерированный билдером,вроде нет отличий Показать контент //--------------------------------------------------------------------------- #ifndef ProgramH#define ProgramH//---------------------------------------------------------------------------#include <Classes.hpp>#include <Controls.hpp>#include <StdCtrls.hpp>#include <Forms.hpp>//---------------------------------------------------------------------------class TForm1 : public TForm{__published: // IDE-managed Components TButton *Button1; TCheckBox *CheckBox1; TCheckBox *CheckBox2; TCheckBox *CheckBox3; TButton *Button2; void __fastcall Button2Click(TObject *Sender); void __fastcall Button1Click(TObject *Sender);private: // User declarationspublic: // User declarations __fastcall TForm1(TComponent* Owner);};//---------------------------------------------------------------------------extern PACKAGE TForm1 *Form1;//---------------------------------------------------------------------------#endif Изменено 15 апреля, 2015 пользователем User123 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 апреля, 2015 Поделиться Опубликовано 15 апреля, 2015 Возможно, дело в хедерах, которые ты в первом коде подключаешь. Он же ругается на синтаксис. Значит, в тех хедерах какое-то несоответствие. Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 15 апреля, 2015 Автор Поделиться Опубликовано 15 апреля, 2015 Ошибка исчезает только после того,как удаляю class MemoryHelpМожет кто -нибудь проверит,скомпилирует ли студия? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 апреля, 2015 Поделиться Опубликовано 15 апреля, 2015 Visual Studio компилирует без проблем Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 16 апреля, 2015 Автор Поделиться Опубликовано 16 апреля, 2015 Ну что,за ночь ни у кого никаких мыслей не появилось? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 16 апреля, 2015 Поделиться Опубликовано 16 апреля, 2015 Я же тебе написал. Ошибка в том, что ты подключаешь хедеры из визуал студио, а у них синтаксис слегка отличается. После подключения билдер ждет, что еще какой-то символ будет (по правилам ЕГО синтаксиса), а его нет. Потому он тебе и ругается на описание класса. Гугли виндовые хедеры специально для билдера. Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 16 апреля, 2015 Автор Поделиться Опубликовано 16 апреля, 2015 (изменено) А,ясно,спасибо,сейчас попробую поискатьСтоп! В 15.04.2015 в 15:47, User123 сказал: Ошибка исчезает только после того,как удаляю class MemoryHelpМожет кто -нибудь проверит,скомпилирует ли студия? То-есть если я закомментирую хедеры,ошибка остаетсяИли я что-то не так понял?Извините за оффтоп,но может кто-нибудь знает,как установить студию,если при установке вылетает ошибка?Скорее всего из-за того,что была неправильно удалена. Изменено 16 апреля, 2015 пользователем User123 Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 16 апреля, 2015 Поделиться Опубликовано 16 апреля, 2015 Привет! Первым делом - погугли номер ошибки. Вторым - если не нагуглилось решение, укажи номер ошибки тут. Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 16 апреля, 2015 Автор Поделиться Опубликовано 16 апреля, 2015 Ошибка E2141Гугл пока результатов не далYour source file contained a declaration that was missing a symbol or had an extra symbol added to it.Check for a missing semicolon or parenthesis on that line or on previous lines.Вот,что нашел Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 17 апреля, 2015 Поделиться Опубликовано 17 апреля, 2015 Ну вот он тебе и говорит, что есть какой-то лишний символ, или, наоборот, символа не хватает. Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 17 апреля, 2015 Автор Поделиться Опубликовано 17 апреля, 2015 Это я понял,знать бы еще что делать,ошибка то в моем хедере,а не в билдеровском Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 17 апреля, 2015 Поделиться Опубликовано 17 апреля, 2015 Не факт. Вполне возможно, что где-то в конце билдеровского хедера что-то лишнее. Скорее всего, в TlHelp32, ведь ты его последним подключаешь. Ссылка на комментарий Поделиться на другие сайты Поделиться
User123 Опубликовано 17 апреля, 2015 Автор Поделиться Опубликовано 17 апреля, 2015 Так я же писал,что если я комментирую хедеры,ошибка остаетсяА вообще я сейчас всеми силами пытаюсь установить студию,ничего хорошего с этом билдером не выйдетКстати,при заходе на форум у меня аваст ругается Win32:Evo-gen [susp] Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 17 апреля, 2015 Поделиться Опубликовано 17 апреля, 2015 В 17.04.2015 в 08:45, User123 сказал: Кстати,при заходе на форум у меня аваст ругается Win32:Evo-gen [susp]https://forum.avast.com/index.php?topic=140712.0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения