";不允许初级构造函数主体”;错误
本文关键字:主体 构造函数 错误 quot 不允许 | 更新日期: 2023-09-27 18:27:28
我的代码"Primary Constructor Body Is Not Allowed"中出现了一个错误,似乎找不到修复它的方法。这个错误是因为我创建了一个新的公共方法,我也尝试过使用私有和受保护的方法,但错误仍然存在。这里还有其他人问了同样的问题。这个特定的人得到的答案让我相信它可能是OS X特有的。这是我的代码:
string txt = WordBank ();
string[] words = Moduel.TextToArray("Text.txt");
string compWord = Moduel.Random (words);
Console.WriteLine ("I have chosen a random word, try to guess it one letter at a time");
}
public static void WordBank ();
{
string txt;
Console.WriteLine ("Would you like to " +
"(A) choose 4 letter words " +
"(B) choose 5 letter words " +
"(C) choose 6 letter words " +
"(E) choose 7 lette r words or more?" +
"(F) all words?");
string input = Console.ReadLine ();
if (input = "A")
txt = "4 Letter Words.txt";
else if (input = "B")
txt = "5 Letter Words.txt";
else if (input = "C")
txt = "6 Letter Words.txt";
else if (input = "E")
txt = "7 Letters or More.txt";
else if (input = "F")
txt = "All Words.txt";
else
{
Console.WriteLine("You haven't chosen a valid option, please try again");
Main();
}
return txt;
}
}
}
这是错误的图片。错误消息。
中存在错误
公共静态void WordBank();
只需从中删除分号
公共静态void WordBank()
您的函数返回了一个字符串值,因此将函数的定义更改为
公共静态字符串WordBank()
public static void WordBank ();
删除此行中尾随的;
。如果必须从函数返回字符串,还可以将返回类型设置为string
。
因此,您的方法签名将如下所示:
public static string WordBank ()
{
string txt;
//Rest of code comes here
return txt;
}
当前在方法声明后有;
:
public static void WordBank ();
{
// code in your method
}
在方法声明后使用分号实际上与使用空方法体相同,因此在您的情况下,代码与相同
public static void WordBank ()
{
}
{
// code in your method
}
这是不正确的。
为了解决此问题,请删除方法名称后的;
:
public static void WordBank ()
{
// code in your method
}
代码中肯定有很多错误。
string txt = WordBank ();
,其中as您的函数不返回任何public static void WordBank ();
都是无效的- 您声明函数
public static void WordBank ();
的代码是错误的,因为您需要删除末尾的;
- 在函数中,您声明
return txt;
,这是不对的,直到您的函数实际返回一些东西
因此你的代码应该是
public static string WordBank()
{
return "SomeString"; // in your case txt
}
感谢大家的快速回复,分号是问题所在(现在感觉真的很愚蠢:p)。