global-variables - C++中未声明的标识符
问题描述
我正在创建所有全局变量的头文件中创建一个类的全局变量。我主要定义它。这是示例:在 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);
}
然后我在 main() 中调用 init_slice() 函数。它给了我与我无法解决的变量减速有关的错误:
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
你能帮我解决这个问题吗?
谢谢你。
解决方案
推荐阅读
- android - 该按钮在运行时不可见
- google-bigquery - 选择行范围 BigQuery
- python - 如何将 gst-launcher-1.0 代码更改为 opencv 代码
- sql-server - 如何使用 *DB.Create() 使用 GORM 将数据插入 SQLServer
- google-apps-script - 创建新表单时,如何将其设置为默认添加脚本?
- android - Android Studio - 模拟器卡在黑屏上
- python - 如何在特定文件夹中获取文件名并将该文件名传递给 for 循环索引?
- r - 在R数据框中制作相对于多个因素的数字
- redis - 微服务之间的嵌入式和可复制数据库?
- node.js - 如何使用 node.js 在 qna maker azure web app bot 中将置信度分数设置/分数阈值设置为 60%