• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Подскажите, где грабли... (VC++7)

  • Автор темы pasha
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

pasha

Приветствую.
Прошу меня не пинать очень сильно, я только учусь Либо я наступил на грабли, либо я сильно туплю.

Взял тут у знакомого книжку: А. Черносвитов Visual C++ 7
Читаю раздел про COM, делаю примерчики, но на первом из них я попал в тупик. Дело вот в чем...

Набираю вот такой файл MyCom.h:

Код:
#if !defined(MY_COSAY_HEADER) 
#define MY_COSAY_HEADER 
#pragma once 

class CoSay : public ISay 
{ 
public: 
CoSay(); 
virtual ~CoSay(); 
//IUnknown 
HRESULT __stdcall QueryInterface(REFIID riid, void** ppv); 
ULONG __stdcall AddRef(); 
ULONG __stdcall Release(); 
//ISay 
HRESULT __stdcall Say(); 
HRESULT __stdcall SetWord(BSTR word); 
private: 
ULONG m_ref; 
BSTR m_word; 
} 
#endif

Запуская компиляцию и получаю:

c:\Documents and Settings\Owl\My Documents\Visual Studio Projects\MyCOM\MyCom.h(5): error C2236: unexpected 'class' 'CoSay'

c:\Documents and Settings\Owl\My Documents\Visual Studio Projects\MyCOM\MyCom.h(5): error C2143: syntax error : missing ';' before ':'

и так далее... На вид все ведь правильно? Или я действительно туплю?
 
G

Guest

Смотрю сишники на форуме перевелись :) ЛАМЕРЫ :)
pasha
По этому кусочку тредно назвать причину ошибки. Может не описан ISay. Может не подключены какие-либо заголовочные файлы. Если не трудно, выложи полный текст примера, думаю он не очень большой всё-таки.
Код:
... 
BSTR m_word; 
}; // точку с запятой пропустил здесь 
#endif
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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