Lua编程语言“在纯ANSI C中实现”(特别是C89),“也可以像C ++一样干净地编译”(即C ++ 98)[https://www.lua.org/faq.html#1.1]。
换句话说,它是用一种语言编写的,称之为“LuaC”,它是C89和C ++ 98的交集:
由于C89不是C ++ 98的严格子集,因此有部分C89未包含在LuaC中(由图左侧的蓝色区域表示)。
这些部分是什么? C89的哪些部分不包含在C ++ 98中,因此不包含在LuaC中?
换句话说,C89的哪些特性在蓝色区域,在编写C89代码时必须避免,C89代码也将编译为C ++ 98?