这可能只会变成一个每日邮报的事情,直到我得到它的窍门,我非常抱歉,如果这是恼人的任何人,但这是唯一的方法,我可以学习,而不是花更多的钱延长我的大学学位。
所以说主要的问题。我使用的是一个名为“I”的标识符,但代码显示它是未定义的,尽管在其他地方它是定义的,并且运行良好。下面我将发布的代码由game.cpp(顶部代码)和game.h(底部代码)组成。
#include "Game.h"
Game::Game()
{
choice = 0;
playing = true;
activeCharacter = 0;
fileName = "characters.txt";
}
Game::~Game()
{
}
//Functions
void Game::initGame()
{
createNewCharacter();
}
void Game::mainMenu()
{
std::cout << "= MAIN MENU =" << std::endl;
std::cout << "0: Quit" << std::endl;
std::cout << "1: Travel" << std::endl;
std::cout << "2: Shop" << std::endl;
std::cout << "3: Level Up" << std::endl;
std::cout << "4: Rest" << std::endl;
std::cout << "5: Character Sheet" << std::endl;
std::cout << "6: Create new Character" << std::endl;
std::cout << "7: Save characters" << std::endl;
std::cout << "8: Load characters" << std::endl;
std::cout << std::endl;
std::cout << std::endl << "Choice: ";
std::cin >> choice;
std::cout << std::endl;
switch (choice)
{
case 0:
playing = false;
break;
case 5:
characters[activeCharacter].printStats();
break;
case 6:
std::cin.ignore();
createNewCharacter();
saveCharacters();
break;
case 7:
saveCharacters();
break;
case 8:
loadCharacters();
break;
default:
break;
}
}
void Game::createNewCharacter()
{
std::string name;
std::cout << "Character name: ";
std::getline(std::cin, name);
characters.push_back(Character());
activeCharacter = characters.size() - 1;
characters[activeCharacter].initialize(name);
}
void Game::saveCharacters()
{
std::ofstream outFile(fileName);
if (outFile.is_open())
{
for (size_t i = 0; i < characters.size(); i++);
{
outFile << characters[i].getAsString() << "\n";
}
}
outFile.close();
}
void Game::loadCharacters()
{
}
#pragma once
#include<iostream>
#include<iomanip>
#include<string>
class Item
{
private:
std::string name;
int buyValue;
int sellValue;
public:
Item();
virtual ~Item();
inline std::string debugPrint() const
{
return this->name;
}
};
问题发生在game.cpp的底部。有问题的行是“out file<<;字符[i].getAsString()<<;“\n”;‘我一直得到括号I的错误。
在for循环后面多了一个分号。
for (size_t i = 0; i < characters.size(); i++);
// ^ here
这就是为什么花括号中的语句不再被算作循环的一部分,因此没有定义i
。
任务“:app:ExternalNativeBuildDebug”执行失败。生成命令失败。执行进程/home/raed/android/sdk/cmake/3.10.2.4988404/bin/ninja时出错,参数为{-c/home/raed/androidstudioprojects/simd/app/.CXX/cmake/debug/armeabi-v7a native-lib}ninja:
我正在调试一个非常大的树着色项目,在该项目中,作者使用glsl文件来着色树,但我在编译glsl文件时遇到了麻烦: 以下是错误日志: 我使用mac osx,Xcode7.0,OpenGL和glut都是默认版本。Glew版本是1.13.0。 这是因为版本与作者使用的原始版本不匹配吗?因为我检查了原始版本,所以他使用了GLEW 1.9.0和GLUT 3.7.6。 //////更新/////// 原来ma
所以我一直有这个错误,我不知道发生了什么。我在谷歌上搜索了一下,读了一些关于这个错误的问题,但什么都没用。我只想运行它,这样我就可以完成我的项目。 错误:开始低库存;结束;*第1行错误:ORA-06550:第1行,第9列:PLS-00201:标识符“LOWINVENTORY”必须声明ORA-06550:第1行,第7列:PL/SQL:忽略语句 编辑: 表创建:
本文向大家介绍C#中使用@声明变量示例(逐字标识符),包括了C#中使用@声明变量示例(逐字标识符)的使用技巧和注意事项,需要的朋友参考一下 在C#中,@符号不仅可以加在字符串常量之前,使字符串不作转义之用,还可以加在变量名之前,使变量名与关键字不冲突,这种用法称为“逐字标识符”。请看下面的代码: 这里使用到@的地方有三处,@class,@static和@bool,如果不加@的话,他们都是关键字,编
我使用Identityserver3作为MVC应用程序的授权服务器。因此,我的类如下: 这是我的子类: 这是我的: 但是在我的
我正在使用SODA for Java存储和检索Oracle12c DB中的文档。我正在效仿这个例子。 这一例外背后的原因将是什么?
这是我的程序:
这是我成功的存储过程 这是首先生成表的调用 最初,我试图用一些预定义的参数调用存储过程。 这导致错误“PLS-00201:标识符'B100'必须声明” 我是PL/SQL的新手,很难解决这个问题。我尝试添加DECLARE语句 这仍然会导致错误“PLS-00201:必须声明标识符‘B100’”,但它表示“PL/SQL:忽略语句”,然后表示“PLS-00201:必须声明标识符‘Steve’” 进一步挖掘