Показать сообщение отдельно

  #6  
Старый 03.03.2008, 16:31
ForNeVeR
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
Провел на форуме:
287212

Репутация: 62
По умолчанию

Исходники длинные, но вот существенные части:
// CommonClass.h
#pragma once
#include "Form1.h"
//#include "CommonClass.cpp"

using namespace System;
// . . .
using namespace ICQ_client;

public ref class CommonClass{
// Объявления методов, параметров и т.д.
};

// Form1.h
#pragma once

#include "CommonClass.h"

using namespace System;
// . . .
namespace ICQ_client
{
public ref class Form1 : public System::Windows::Forms::Form
{
// . . .
CommonClass^ common; // Тут вылазит ошибка C2143: syntax error : missing ';' before '^', т.е. он не понимает, что CommonClass - это название класса.

//. . .
};
}

Причём если в CommonClass.h не инклудить Form1.h, то в Form1 класс виден. И наоборот, если #include "CommonClass.h" убрать из файла Form1.h, файл CommonClass.h проходится нормально. Была мысль, что что-то напутано с ; , но это кажется маловероятным.

Последний раз редактировалось ForNeVeR; 03.03.2008 в 16:59..
 
Ответить с цитированием