C ++ Windows Application Form не может сделать предварительное объявление

Я использую Visual C++ 2010в форме заявки Windows:

#pragma once

namespace MyProgram {

using namespace System;
using namespace System::IO;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

ref class Design;       //Forward Declariong of Class Design

/// <summary>
/// Summary for Form1
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
private:
Design Enviroment;  //Declaring object of class: Design
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
};public ref class Design
{
private:
String^ Color;
public:
Design()
{
//TODO: Add the Constructor code here
}
};

И я получаю error: MyProgram::Form1::Enviroment' использует неопределенный класс ‘MyProgram::Design

Если я переключу порядок определения, он скомпилируется без ошибок, но в форме приложения Windows класс Form1 всегда должен быть первым … Итак, мое предварительное объявление неверно?

1

Решение

Поскольку вы объявляете переменную (Environment) типа Design, полный тип должен быть доступен компилятору в это время.

Переупорядочивая ваши объявления, вы предоставляете полный тип компилятору.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector