Большой Воронежский Форум
» Программирование>Проблема с Color в C++(((((((
RockVocal 15:35 23.04.2007
Пишу графический редактор на cpp,создал абстрактный класс "Shape",вот объявление:

using namespace System:rawing;
using namespace System:
rawing:rawing2D;
using namespace System::Windows::Forms;
class Shape{
protected:
Color linecol;
int linewidth;
DashStyle linest;
Color zalcol;

protected:

void set_line_color(Color col);
void set_line_width(int width);
void set_line_st(int s);
void set_col_zal(Color c);
virtual void draw(Graphics ^c, int x, int y, int width, int heigth)=0;

};

Проблема-компилятор ругается:error C3265: cannot declare a managed 'linecol' in an unmanaged 'Shape'
Что мне нужно сделать,чтобы компилятор не ругался на поле linecol в Shape?
MHC 15:59 23.04.2007
а чё ващще два раза объявлен Color linecol??


Сообщение от RockVocal:
Color linecol;
int linewidth;
Color linecol;

RiderV 16:05 23.04.2007
Я мало знаю про манагед-С++..
но судя по сообщению компилятора,
ты пытаешься завести переменную член в классе который не является манагед-классом (управляемым).

Может тебе надо унаследоваться от какого то базового манажед класса?
или __gs префикс поставить... эт тебе надо доку по .NET читать.
RiderV 16:06 23.04.2007
А вообще, если собрался юзать .NET то пиши на шарпе...
в С++ и так много тонкостей - башка лопнуть может если сразу лезть в дебри.. а уж соединения С++ с .net эт ваще... свихнёшься, пока всё изучишь.
RockVocal 16:20 23.04.2007
RiderV, Спасибо за советы)).Я и сам бы рад на C#,только у нас предмет такой-С++.
RockVocal 16:22 23.04.2007
RiderV, И кстати- что такое _gs?
Я читал можно сделать код managed,если написать перед нужным блоком
#pragma manage(так по-моему),токо эт нифига не помогает((
Вверх