【发布时间】:2020-02-15 15:45:06
【问题描述】:
问题如下。 我有一个结构:
typedef unsigned int nat;
struct intervalo_t{
nat fin;
nat inicio;
};
我已经完成了以下操作(其中inter 是一个大小为n 的动态数组,其中加载了intervalo_t 类型的元素):
intervalo_t** aux=new intervalo_t*[n];
for (nat i=0; i<n; i++){
aux[i]=inter[i];
}
我现在需要做的是显示inter[i].fin的内容,但我只能访问aux[i]。如果它们是原始类型(例如int),我会做类似printf("%d", **aux) 的事情,就是这样。有没有办法用上面定义的结构做类似的事情?
【问题讨论】:
-
aux[i]->fin怎么样? -
成功了,谢谢
-
如果我仔细阅读这个问题,我想你是说你有
intervalo_t *inter而不是intervalo_t **inter。我认为我在编辑问题时没有丢失任何*。如果是这种情况,aux[i] = inter[i];分配将是错误的。所以,大概inter是一个指向intervalo_t结构的指针数组。但无论哪种方式,如果您显示inter的声明/定义,问题就会得到解决——说明它的元素已正确初始化的注释就可以了。
标签: c++ indirection