Тема: ООП Проблема з оголошенням класів
Щось в мене не виходить об'явити класи читав тут вроді все правильно роблю, спочатку ключове слово class потім назву 
class NameVar;
class OpenFile;
class ListVar;
ListVar var[];Ось сам код
#include <stdio.h>
#include <conio.h>
#include <iostream>
class NameVar;
class OpenFile;
class ListVar;
ListVar var[];
class OpenFile
{
private:
    FILE *CppFile;
public:
    OpenFile() : CppFile(NULL) {};
    OpenFile(char *str);
    void SearhVar();
};
OpenFile::OpenFile(char *str)
{
    CppFile = fopen(str, "r");
    if (CppFile == NULL)
    {
        printf("Fatal error\n");
    }
}
void OpenFile::SearhVar()
{
    int result = sizeof(var) / sizeof(ListVar);//find out the size of the array
    for (int i = 0; i < result; i++)
    {
        var[i].nameTypeVar;
        var[i].num;
        var[i].arrNameVar.nameVar;
    }
}
class NameVar
{
public:
    char *nameVar;
};
class ListVar
{
public:
    char *nameTypeVar;//name type variables
    int num;//number of variables
    NameVar arrNameVar;
}var[] =
{
    "char",   0, NULL,
    "bool",   0, NULL,
    "short",  0, NULL,
    "int",    0, NULL,
    "long",   0, NULL,
    "float",  0, NULL,
    "double", 0, NULL,
};
int main()
{
    getch();
    return 0;
}Він працює якщо перемістити NameVar і ListVar на верх
Помилки