c++-C++仿真编程过程中遇到的inaccessible问题

问题描述

C++仿真编程过程中遇到的inaccessible问题

在LTE同频干扰仿真C++编写过程中遇到的一个问题,烦请C++编程达人帮我解答。谢谢。
第一个文件:Bs.h
/*这个文件声明三个类,Sector BS 和BS_V,其中BS和Sector表示干扰方的基站和扇区,BS_V和SECTOR_V表示*/
#ifndef BS_H
#define BS_H
#include"Ue.h"
#include"Random.h"
#include"Basic.h"
#include"Radio.h"
#include
#include
#include
using namespace std;
class Ue;
//Sector表示干扰方的扇区
class Sector
{
public:
int id;
Pos pos;
double theta;//中心角度,用于计算角度损耗
double TX_Power;
friend class BS; //友元类,便于BS和BS_V调用Sector内部的各个变量和函数
friend class BS_v;
const int& GetID();
const Pos& GetPos();
const double& GetPower();
//void SectorInitial(int id,Pos postemp);
};
class Sector_v :public Sector
{
public:
list UeList;
double rate;
double ThroughPutAll;
bool RbUsed[RB_Numb_Per_Sector];
friend void ResourceUpdate();
friend void CellAccess();
friend class BS;
friend class BS_v;
void ScheduleRR();
void Accept(Ue* uetemp);
void Kick(Ue* uetemp);
void StateClear();
void DropClear();//撒点之后的信息清零
};
class BS
{
public:
int id;//干扰方只需要知道ID,位置和发射功率就可以了
Pos pos;
double TX_Power;
const int& GetID();
const Pos& GetPos();
const double& GetPower();
void BSInitial(int idtemp,Pos postemp);
Sector sector[Sector_Num_Per_Cell];
};
class BS_v :public BS
{
//bool RB_Used[RB_Numb_Per_Sector];
//list UeList;
Sector_v sectorV[Sector_Num_Per_Cell];
Radio* radio;
void BSInitial(int idtemp, Pos postemp, Radio* radiotemp);
double rate;
double ThroughputAll;
void StateClear();//调度之后的信息清零
void DropClear();//撒点之后的信息清零
friend void ResourceUpdate();
friend void CellAccess();
};
#endif
第二个文件:radio.h
#ifndef RADIO_H
#define RADIO_H
#include"BS.h"
#include"Ue.h"
#include"Basic.h"
class Ue;
class BS;
class BS_v;
class Radio
{
public:
BS* BBs;//干扰方
BS_v* Bss;
Ue* ues;
void RadioInitial(BS_v BSstemp[Cell_Num],BS BBstemp[Cell_Num],Ue UesTemp[Ue_Num]);
};
#endif
第3个文件:radio.cpp
#include"Radio.h"
void Radio::RadioInitial(BS_v BSstemp[Cell_Num], BS BBstemp[Cell_Num], Ue UesTemp[Ue_Num])
{
BBs = BBstemp;
Bss = BSstemp;
ues = UesTemp;
}
第4个文件:Ue.h
#ifndef UE_H
#define UE_H
#include"Basic.h"
#include"Radio.h"
#include"BS.h"
#include"Random.h"
#include
#include
#include
using namespace std;
class Ue
{
public:
/*成员变量*/
Pos pos;
Speed speed;
int id;
list Rblist[RB_Numb_Per_Sector];//UE的RB列表,表示哪些RB分配给这个UE
double AngleLoss[Cell_Num][Sector_Num_Per_Cell];//UE到各Sector的角度衰落
double AngleLossI[Cell_Num][Sector_Num_Per_Cell];
double PathLoss[Cell_Num][Sector_Num_Per_Cell];//UE到各Sector的路径损耗
double PathLossI[Cell_Num][Sector_Num_Per_Cell];
double ShadowLoss[Cell_Num][Sector_Num_Per_Cell];//UE到各Sector的阴影衰落
double ShadowLossI[Cell_Num][Sector_Num_Per_Cell];
double Dis[Cell_Num][Sector_Num_Per_Cell];//UE到各Sector的距离
double DisI[Cell_Num][Sector_Num_Per_Cell];
double RSRP[Cell_Num][Sector_Num_Per_Cell];//UE接收到各Sector的信号能量
double RSRPI[Cell_Num][Sector_Num_Per_Cell];
CQI cqi;
double Rate;//UE在此调度时刻的实际速率
Radio* radio;//整个无线环境,包括两个全局变量数组的首元素地址
BS_v* BSV;//正在服务此UE的基站指针
int BSID;//表示对应基站的ID信息
/*成员函数*/
const int& GetId()const;
const Pos& GetPos()const;
const Speed& GetSpeed()const;
void UpdateLocation();//更新地址
friend void ResourceUpdate();//撒点初期要重新对相关变量赋值
void UpdateDistance();//计算UE到各BS的距离
void UpdatePathLoss();//路径损耗
void UpdateAngleLoss();//角度损耗
void UpdateShadowLoss();//阴影衰落
void UpdateLoss();//总损耗
void UpdateRxPower();//更新接收信号强度
void UpdateSINR();//更新信干比
void UeInitial(int idtemp,BS_v* bstemp, Radio* radiotemp);//初始化所有的UE
bool IsNotInsideCell(Pos postemp,BS_v* bs);//判断UE是否在对应的Cell中
void UeRelocation(BS_v* bs);
void SelectCell();
void CQIUpdate();
void UeStateClear();
};
#endif
出现问题的文件中的函数:
Ue.cpp
void Ue::UpdateDistance()
{
//从UE到服务系统各基站的距离
for (int i = 0; i < Cell_Num; i++)
{
for (int j = 0; j < Sector_Num_Per_Cell; j++)
{
DisI[i][j] = sqrt((pos.x - radio->BBs[i].sector[j].GetPos().x)*(pos.x - radio->BBs[i].sector[j].GetPos().x) + (pos.y - radio->BBs[i].sector[j].GetPos().y)*(pos.y - radio->BBs[i].sector[j].GetPos().y));
Dis[i][j] = (pos.x - radio->Bss[i].sectorV[j].GetPos().x);
}
}
}
问题:
(pos.x - radio->Bss[i].sectorV[j].GetPos().x)报错,SectorV[j] is inaccessible.
为什么radio->BBs[i].sector[j]是没有问题的。而 radio->Bss[i].sectorV[j]就会出现inaccessible的问题?如何解决这个问题?

解决方案

centos7 安装tigervnc过程中遇到的问题

解决方案二:

class BS_v :public BS
{
public:
};

加个public,否则默认是private。

时间: 2024-09-30 12:42:42

c++-C++仿真编程过程中遇到的inaccessible问题的相关文章

小结:PHP编程过程中应当注意的各种注意事项

最近一段时间,PHP凭借其功能强大,简单易用的特点被越来越多的人们所喜爱和接受,成为目前最为流行的脚本编程语言之一.本文将结合用户在使用PHP过程中经常容易出现的问题,包括语法错误,程序运行错误以及逻辑错误等展开详细的介绍,希望能够对那些目前正在学习PHP语言的用户有所帮助.此外,本文还将会在文章的结束部分对PHP编程过程中应当注意的各种事项加以汇总,供读者参考. PHP脚本语言所具有一个显著的特点就是能够自动生成变量实例,不要求用户对所需要使用的变量进行声明.该特点既有值得推崇之处,但是同时也

c#代码-C#编程过程中遇到的难题

问题描述 C#编程过程中遇到的难题 我的界面form_load一打开适合一张数据库里面的退货表联系上了的,但是如果我想要查询 订单表的话,怎么做呢?而且是不换界面的,因为我的界面使用的是数据网格来显示表格,当我点击查询的订单表的时候,总是会弹出ConnectionString尚未初始化这个问题?怎么解决呢?以下是我查询的代码,求指导 SqlCommand sqlCommand = new SqlCommand(); SqlConnection myConnection = new SqlConn

python初学者编程过程中遇到问题

问题描述 python初学者编程过程中遇到问题 用python编写了个Person类:''Created on 2014年9月19日 @author: Administrator''' class Person: def __init__(selfnameagesalary=0job=None): self.name=name self.age=age self.salary=salary self.job=jobdef lastName(self): return self.name.spli

编译错误-java网络socket编程过程中遇到的问题

问题描述 java网络socket编程过程中遇到的问题 运行代码 import java.io.*; import java.net.*; public class InetAddressDemo { public static void main(String[] args) { Socket socket = null; InputStream is = null; OutputStream os = null; String serverIP = "127.0.0.1"; int

c++-求解答关于C++编程过程中的一个报错

问题描述 求解答关于C++编程过程中的一个报错 fatal error C1083: 无法打开包括文件:"Win32.Infrastructure.h": No such file or directory 报错如上,Win32.Infrastructure.h这个头文件是不是系统提供的呢?怎么解决这个错误,谢谢 解决方案 你自己搜索一下不就知道自己有没有这个头文件,不过我认为这个不是系统文件.

积累编程过程中的经验

我已经无法容忍自己在编程学习的路上缓慢的进步速度了,可是自己又总是很低效的学习,所以从现在开始,在该系列博客中,积累着记录在编程过程中的经验和反思,希望能真正让自己快速成长起来. 下定决心,保持耐心,专注当下,坚定去做而不是去茫然恐惧. 习得 学习他人代码最好的方式就是进到程序中单步去调试,了解大体的框架和流程,然后再深入的去研究 C语言中strlen()的陷阱 strlen()的作用是取得字符串的有效字符个数,但是当赋给字符串的字符大于该字符串的长度时,有可能将字符数组最后的'\0'标识覆盖,

《Python之禅》中对于Python编程过程中的一些建议_python

围绕一门语言,学习它的文化精髓,能让你成为一名更优秀的程序员.如果你还没读过Python之禅(Zen of Python) ,那么打开Python的命令提示符输入import this,列表中的每一项你都可以在这里找到相对应的例子. 吸引我注意力的一条是: 优雅胜于丑陋 (Beautiful is better than ugly) 看下面例子: 一个带有数字参数的list函数其功能是返回参数中的奇数可以分开写:   #--------------------------------------

对Python新手编程过程中如何规避一些常见问题的建议_python

这篇文章收集了我在Python新手开发者写的代码中所见到的不规范但偶尔又很微妙的问题.本文的目的是为了帮助那些新手开发者渡过写出丑陋的Python代码的阶段.为了照顾目标读者,本文做了一些简化(例如:在讨论迭代器的时候忽略了生成器和强大的迭代工具itertools). 对于那些新手开发者,总有一些使用反模式的理由,我已经尝试在可能的地方给出了这些理由.但通常这些反模式会造成代码缺乏可读性.更容易出bug且不符合Python的代码风格.如果你想要寻找更多的相关介绍资料,我极力推荐The Pytho

PHP编程过程中需要了解的this,self,parent的区别_php技巧

{一}PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object Oriented Programming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的. PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性.这里我主要谈的是 this,self,parent 三个关键字之间的区别.从字面上来理解,