Error: Expected a Statement / C++ / Visual Studio
Error: Expected a Statement / C++ / Visual Studio
当我计划制作一个小游戏来测试我自己对c++的了解时,我发现使用这个会在"else"的位置给我一个错误。有人能帮忙吗?
int lvlup()
{
if (user.xp >= user.maxxp)
user.xp = 0;
user.maxxp + 10;
user.maxhealth += user.maxhealth * .5;
user.defense + 2;
user.attack + 3;
user.lvl + 1;
else
return 0;
};
在c++中需要用{}
对语句进行分组,而不需要在函数后面加上;
。
您还在一些地方遗漏了=符号。我假设user是一个全局变量,但它确实应该被传入,但我把这个留给你。
我假设返回值是用户是否升级,所以这真的应该是bool
,而不是int
。我在if
true块中添加了一条返回语句。这取决于lvup的用法,它可能有意义,也可能没有意义。如果不使用返回值,则不应该使用任何返回值,而应该使用void
。
int lvlup()
{
if (user.xp >= user.maxxp)
{
user.xp = 0;
user.maxxp += 10;
user.maxhealth += user.maxhealth * .5;
user.defense += 2;
user.attack += 3;
user.lvl += 1;
return 1;
}
else
return 0;
}
如果你的if/else
语句只有一行,你可以选择不使用大括号,但是如果有不止一行需要执行来响应条件,你需要包括它们。然而,不包含它们可能会使维护代码的人犯错误,并且在向块中添加一行时不添加它们,所以有些人说总是添加它们。
你需要一些括号{}。事实上,if早午餐和for循环只在代码段周围没有括号的情况下执行下一行。例子:
a = 1;
if (a == 0)
std::cout << "This line is skipped" << endl;
std::cout << "This line will appear" << endl;
如果执行这段代码,输出将是:
This line will appear
,如果if语句后面有else,则会生成编译错误,这就是您的情况:p
,如果你写一些括号来组织你的代码,像下面这样:
a = 0;
if (a == 0) {
std::cout << "This line is not skipped" << endl;
std::cout << "This line will appear too" << endl;
}
的输出将是:
This line is not skipped
This line will appear too
如果没有找到括号,for循环将只循环for循环旁边的唯一一行。
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 不同的Visual Studio版本中缺少.dll
- 用Visual Studio在C++中嵌入Julia
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- Visual Studio在尝试读取resource.txt文件时崩溃
- Visual Studio 2017 不允许我创建 C++ 专用模板