2014-09-26 1 views
-2

Я создал два отдельных проекта в MS Visual Studio, W59Components.cpp (console) и Frequency.cpp (DLL). Я создал класс ReadFile в W59Components> ReadFile.h и пытаюсь использовать этот класс в другом проекте MS Frequency.cpp. Я не смотрел на другие форумы по этой теме.C++ MS Visual Studio Exp 2013 IntelliSense: это объявление не имеет класса хранения или спецификатора типа

По какой-то причине я получаю ошибку IntelliSense: «IntelliSense: это объявление не имеет класса хранения или спецификатора типа».

компилятора Ошибки:

ошибка C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором 't'

ошибка C4430: отсутствует спецификатор типа - int. Примечание: C++ не поддерживает default-int

ошибка C2365: 'ReadFile': redefinition; предыдущее определение было «функция»

см декларирование «ReadFile»

Вот фрагмент кода:

#include "stdafx.h" 
#include <windows.h> 
#include <string> 
#include "../../scripts/DLLs/Wave59_SDK.h" 
using namespace std; 

#include "ReadFile.h" 
ReadFile t;  // Should Reconize "ReadFile" as a class 

//#include "../../scripts/DLLs/demo/Demo.h" 

// --------------------------------------------------------------------------- 

extern "C" double __declspec(dllexport) average(WAVE59_DATASTRUCT *price_ptr, 
    int currentptr, int *int_args, int num_int_args, double *double_args, 
    int num_double_args, char **string_args, int num_string_args); 

Как вы #include заголовочный файл из другого MS Visual Студийный проект?

Вот файл заголовка, я не хочу обременять вас с определением функции:

/* ReadFile.h 
* Reads a incomming file and splits it into a multidemensional array */ 

# include <istream> 
# include <fstream> 
#include<string> 
using namespace std; 

class ReadFile { 
public: 
    ReadFile(){}; 
    ~ReadFile(){}; 

    void ReadTheFile(string path = "C:\\Users\\Owner\\Documents\\Wave59\\TestWriteFile.txt"); 
    void split(string delimiter, string text, string pArray[]); 
    int getColumnNum(){ return this->columnNum; } 
    int WriteFile(string message[], int lenMessage, string path = "C:\\Users\\Owner\\Documents\\Wave59\\W59Components-WrittenFile.txt"); 

    double f2Array[20][1000]; 

private: 
    void readFile(double pArray[], string path = "C:\\Users\\Owner\\Documents\\Wave59\\TestWriteFile.txt"); 
    void sortArray(double returnArray[], int modNum); 

    // Initalize VARS 
    const int SIZE = 10000; 
    double fArray[10000];  // file data 
    int columnNum;      // Number of colums in the file data, which is different arrays of data 
}; 
+0

*** Как вы # включаете заголовочный файл из другого проекта MS Visual Studio? *** Обычно я добавляю путь к дополнительным каталогам Include. Однако, как вы включили его, все должно быть хорошо. И это было прекрасно, так как у вас была бы другая ошибка, если Visual Studio не смог найти заголовок. Возможно, у вас есть проблема с вашими защитниками #ifdef в ReadFile.h. – drescherjm

+1

Вам нужно показать содержимое 'ReadFile.h'. –

+2

Точная ошибка компилятора также поможет. Ошибки Intellisense не всегда являются ошибками компилятора. – drescherjm

ответ

Смежные вопросы