【问题标题】:Is this syntax or semantic error in c#这是 c# 中的语法或语义错误吗
【发布时间】:2015-12-09 11:59:45
【问题描述】:

我正在做我的编译器构造任务,并为语法设计 cfgs,我只想知道这是语法错误还是语义错误。 (嵌套函数)

void function1()
{
    int a = 0;
    void function2()
    {
        int ae=0;
    }
}

我应该用语法还是语义来处理这个问题

【问题讨论】:

  • 您的老师不为如何区分感到难过吗?这是语法错误,因为 C# 中没有嵌套函数(但匿名方法用作嵌套方法)

标签: c# syntax semantics


【解决方案1】:

这是一个语法错误,因为您无法在函数中定义命名函数。但是,您可以使用 lambda expression 创建使用当前函数范围的未命名函数。

【讨论】:

  • 还告诉我是语法还是语义?无效函数(){中断; } 表示,中断功能
  • @SyedTalhaHai:还有语法。方法中不允许直接中断(必须在循环或切换中)。你打算在这里问你功课的每一部分吗? :-)
猜你喜欢
  • 2011-09-09
  • 1970-01-01
  • 2017-08-28
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多