2015-05-31 2 views
0
#include <iostream> 
#include <string> 
#include <fstream> 
#include <vector> 

using namespace std; 

class Admin { 

    static void editUser() { 
     vector<User> usr = FileManager::createVector(); //errors are here 

     ... 

    } 
}; 

class FileManager { 
public: 
    static vector<User> createVector() { 
     string name; 
     string surname; 
     string code; 
     float miles; 
     float balance; 
     vector<User> users; 

     ifstream getUsers("users.txt"); 

     while (getUsers >> name >> surname >> code >> miles >> balance) { 
      User temp(name, surname, code, miles, balance); 
      users.push_back(temp); 
     } 

     return users; 
    } 
}; 

Это кусок кода, который я пишу, и я получаю эти 2 ошибки:ошибка C2065 и я понятия не имею, что это неправильно

ошибка C2653: «FileManager»: это не класс или пространство имен имя

ошибка C3861: «createVector»: идентификатор не найден

дело в том, я посмотрел по всему интернету, и я действительно не могу видеть, что это не так, у меня голова болит много, и время ограниченное. Я действительно не хотел спрашивать здесь, потому что у вас, вероятно, есть более важные вопросы для ответа. Любая помощь приветствуется.

+0

Файлы обрабатываются сверху вниз. Ваше объявление «FileManager» должно быть видимым, прежде чем вы сможете его использовать. –

+0

спасибо ниндзя. я думаю, я действительно устал думать об этой очевидной вещи –

ответ

1

Вы должны либо определить FileManager до Admin, либо использовать forward declaration, чтобы сделать его видимым для компилятора.

+0

ох .. нормально, я тупой. Спасибо друг! –

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