无效的嵌入式语句错误 88

本文关键字:错误 语句 嵌入式 无效 | 更新日期: 2023-09-27 18:36:47

为什么以下失败:

while (true)
   int a;
if(true)
   int a;
if(true)
   int a = 5;
if(true)
  int a = somestaticfunction();

如果失败,则显示:"无效的嵌入式语句错误 88"在视觉工作室上。

无效的嵌入式语句错误 88

这是对

正在发生的事情的一个很好的解释,它是语言规范的一部分。似乎Objective C,Java和C也有相同的限制。您可以通过像这样附上您的语句来解决此问题。

while(true)
    {int a;}
if(true)
    {int a;}
if(true)      
    {int a = 5;}      
if(true)      
    {int a = somestaticfunction();}      

它不能像 C# 那样写。您应该像下面一样更改它,否则它将生成编译器错误 CS1023:它说:

嵌入语句,例如 if 后面的语句 语句,既不能包含声明,也不能包含标记语句。

        while (true)
        {
               int a;
        }
if(true)
{
   int a;
}
if(true)
{
   int a = 5;
}
if (true)
{
    int a = somestaticfunction();
}