所以我在bool_struct.sv中有以下代码:
typedef enum {false=0, true=1} bool;
class my_bool_class;
bool my_bool_value;
function new (bool initial_bool_value)
my_bool_value = initial_bool_value;
endfunction
endclass
在checker.sv中我想做以下事情:
class checker;
my_bool_class bool_class_handle = new(true)
endclass
我的问题是,这会编译吗?我想新调用中的“true”将超出typedef的范围,所以它不会 . 如何在新的工作电话中获得“真实”?
1 回答
枚举类型的
typedef
声明所有标签以及同一级别的枚举(这就是为什么不能在同一范围内声明具有重叠标签的两个不同枚举的原因) .您应该始终做的是将
typedef
和类声明放在package
,然后import
将要使用的包bool
,false
,true
和my_bool
.见http://go.mentor.com/package-import-versus-include