необъявленный идентификатор в c ++ - PullRequest
0 голосов
/ 22 марта 2020

Я создаю глобальную переменную класса в заголовочном файле, в котором созданы все глобальные переменные. И я определяю это в основном. Вот пример: в listVariables.h:

#include <vector>
#include <algorithm>
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <string>
#include <fstream>
#include <locale>
using namespace std;

#include "dbSlice.h"
extern vector<dbSlice_str> dbSlice;//from dbSlice header i am creating the global variable

В main. cpp я определяю переменную:

#include "listVariables.h"
vector<dbSlice_str>                 dbSlice;

в dbSlice. cpp я создаю глобальную функцию, которая создает переменную и добавляет ее в вектор:

#include "dbSlice.h"
#include "listVariables.h"
#include "listFunctions.h"//where i declare the init_slice() function


void init_slice()
{
    dbSlice.push_back(dbSlice_str());
    dbSlice_str* slice;
    slice = new dbSlice_str();
    slice->name = "embb";
    slice->connected_users = 0;
    slice->client_weight = 100; //100% des ressources
    slice->priority = 10;
    slice->SST = 0;
    slice->preemt = false;
    slice->slice_ratio = 100;
    dbSlice.push_back(*slice);
}

Затем я вызываю функцию init_slice () в main (). Это дает мне ошибки, связанные с объявлением переменной, которую я не могу решить:

Error  C2065   'dbSlice_str' : iidentifier not declared in listVariables.h
Error  C2923   'std::vector' : 'dbSlice_str 'is not a valid model argument for the' _Ty 'parameter in listVAriables.h
Error  C3203   'allocator' : non-specialized model class cannot be used as a model argument for the model parameter '_Alloc'; expected real type   in listVariables.h
Error  C2663   'std::vector<_Ty,_Alloc>::push_back' : 2 overloads have no conversion allowed for the 'this' pointer in dbSlice.cpp

Не могли бы вы помочь мне с этим?

спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...