以下测试用例是对大型多文件解析器的简化,因此声明和定义的顺序有些奇怪。它不能编译,我的理解是 public partial class Form1 : Form
{
private readonly Label CompPany = new Label();
private readonly SpeechRecognitionEngine _recognizer =
new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-
US"));
}
将其绊倒。从文档看来,在我看来,如果存在正确的包含,则综合属性应该有一个std :: tuple。我在做什么错了?
std::tuple
谢谢。
答案 0 :(得分:1)
这是一个嵌套结构。但是,您将解析为与AST结构不匹配的平面合成元组:
换句话说,((int, int), int)
在结构上与(int, (int, int))
甚至与(int, int, int)
都不兼容,就像您的规则将解析的那样。
上述变通办法有助于属性强制反映所需的(和必需的)结构。