我使用typedef
将set
定义为bool
数组:
typedef struct set{
bool Arr[128];
}set;
问题是每次我尝试分配一个t/f值时,例如
temp[itemp]=true;
(根据定义,temp
是一个set
,itemp
是一个int
),我得到了错误:
subscripted value is neither array nor pointer nor vector
我不知道怎么解决这个问题,请帮帮忙。
PS :我在ubuntu上使用的是C。
发布于 2017-01-14 20:45:39
您所做的是一个结构的别名set
,该结构包含一个大小为128的布尔数组。这意味着,要访问成员Arr
,您需要使用成员访问操作符.
,如下所示:
temp.Arr[itemp] = true;
如果你不想这样做,你可以像这样定义数组:
typedef bool set[128];
因此,您可以直接访问它:
set s = { false };
s[1] = true;
发布于 2017-01-14 20:37:19
temp
是一个集合,而不是数组。因此,它不能被下标。您应该访问set内的Array。
temp.Arr[itemp] = true;
https://stackoverflow.com/questions/41650017
复制相似问题