我试图用C++为我的简单语言编写一个编译器,但是我不确定当所讨论的语言声明一个用户定义的类时,我应该如何声明一个用户定义的类。例如,在这种假定的语言中,用户写道: int bar;我的编译器将如何读到这一点,然后在C++中生成相应的内容?然后,我希望编译器在C++中执行以下代码: int bar;语法是相同的。这在C++中是可能的吗?
x) //InvalidCastException in runtime }我想知道,为什么这种森林行为如此...不是像C#这里发生的是对子类的隐式强制转换,这很容易出错,而且似乎在语言中的任何其他地方都是被禁止的。还是我说的不对?附注:我问这个问题的原因是,我的项目中的类似代码中有一个bug,在这个项目中,我经常迭代来自外部库的自定义集合,这个库被称为SomeTypeCollection,