我尝试根据用户放入的输入类型进行特定功能的切换。但是,当我在每种情况下调用函数并尝试运行代码时,会出现错误。标题会来。它表示它位于第40行,其中for循环(打印出所有菜单选项)位于其中。我可以理解错误说的是什么,但在我尝试使用开关和其他函数之前,我只是使用了包含for循环的函数来查看它是否可行,并且确实如此。所以喜欢关于添加开关和添加其他功能的东西以某种方式与for循环混淆,但我无法确定如何。我在做什么导致这个错误?
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;
using std::cin;
int main()
{
int Start();
int result = Start();
int number = select("This is the title screen. Please select an option");
switch (number) {
case 1:
string NewGame();
break;
case 2:
string StartSave();
break;
case 3:
string DeleteSave();
break;
default:
cout << "That is not an available option"<<endl;
break;
}
cin.get();
}
int select(string prompt) {
string num;
cout << prompt;
cin >> num;
return 0;
}
int NewGame(){
cout << "Test"<<endl;
return 0;
}
int StartSave(){
cout << "Test2" << endl;
return 0;
}
int DeleteSave(){
cout << "Test3" << endl;
return 0;
}
int Start() {
vector<string>title;
title.push_back("");
title.push_back("New Game");
title.push_back("Start Save");
title.push_back("Delete Save");
for (int i = 1; i < title.size(); ++i) {
cout << i << "." << title[i] << endl;
}
return 0;
}
答案 0 :(得分:0)
您已打开导致此错误的-Werror
标志。
函数调用title.size()
返回size_type
的类型,如果您更改for循环,则size_t
的typedef为for(size_t i= 0;i<title.size();i++) {
// d
}
,则编译不应失败。
<nav class="navbarSection">
<div class="topnav" id="myTopnav">
<a href="#home" class="active">Home</a>
<a href="http://www...">Chi Siamo e Cosa Facciamo</a>
<a href="http://www...">Storia di Gabriella</a>
<a href="#articles">Tutti gli Articoli</a>
<a href="http://www...">Video Gallery</a>
<a href="http://www...">Photo Gallery</a>
<a href="http://www...">Dicono di Noi</a>
<a href="http://www...">Come Contattarci</a>
<a href="javascript:void(0);" class="icon" onclick="respScreen()">☰</a>
<a class="material-icons" style="font-size:32px;color:white;">search</a>
</div>
</nav>