VisualStudio 2017: Синтаксическая ошибка отсутствует ':' перед '^' - PullRequest
0 голосов
/ 04 июля 2018

У меня есть следующее:

FileReader.cpp

#include "FileReader.h"
#include "FileData.h"

using namespace System;
using namespace System::IO;


FileReader::FileReader(){}

System::Void FileReader::readFile(System::String^ fileName) {
    this->_fileName = fileName;
    Console::WriteLine("Opening: " + _fileName);

    try {
        StreamReader^ fileIn = File::OpenText(_fileName);

        System::String^ input;
        int count = 0;
        while ((count < 10 && (input = fileIn->ReadLine()) != nullptr)) {
            Console::WriteLine(input);
            count++;
        }

    }
    catch (FileNotFoundException^ e) {
        Console::WriteLine("FileNotFound");
    }
}

FileReader.h

#pragma once

ref class FileReader
{
public:
    FileReader();

    FileData^ fData = gcnew FileData(); // This is whats causing the errors.
    System::String^ _fileName;
    System::Void readFile(System::String^ fileName);
};

FileData.cpp

#include "FileData.h"

FileData::FileData(){}

System::Void FileData::Set_DataName(System::String^ dName)
{
    this->dataName= dName;
}

FileData.h

#pragma once
using namespace System;

ref class FileData
{
public:
    FileData();

    System::String^ dataName;
    System::Void Set_PlayerName(System::String^ dName);

};

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

Error   C2143   syntax error: missing ';' before '^'
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    
Error   C2238   unexpected token(s) preceding ';'
Error   C2143   syntax error: missing ';' before '^'
Error   C4430   missing type specifier - int assumed.
Error   C2238   unexpected token(s) preceding ';'
Error   C2143   syntax error: missing ';' before '^'    
Error   C4430   missing type specifier - int assumed. 
Error   C2238   unexpected token(s) preceding ';'

Я знаю, что это, наверное, что-то простое, что я пропустил, но я не могу понять, что я сделал неправильно. Кто-нибудь может помочь?

...