在"void"c++ 之前预期的非限定 id
Expected unqualified-id before 'void' c++
我在前两个函数'input'和'genWindows'中得到错误。我从来没有犯过这个错误,似乎不知道是什么原因导致的,也不知道为什么这个类被认为是不合格的。
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
#include "Queue.h"
#include "window.h"
#include "sim.h"
using namespace std;
string fileInput;
ifstream file;
string line;
window* windows;
Queue<int>* queue = new Queue<int>;
Queue<int>* timeQueue = new Queue<int>;
Queue<int>* numStudent = new Queue<int>;
int simTime;
int numWindows;
int count;
bool check;
int numWinIdle;
int winIdle;
sim::void input()
{
cout << "Please enter a file name: " << endl;
cin >> fileInput;
}
sim::void genWindows()
{
file.open(fileInput.c_str());
if(file.good())
{
getline(file, line);
numWindows = atoi(line.c_str());
windows = new window[numWindows];
}
file.close();
}
sim::void placeStudent(int n)
{
for(int i = 0; i < numWindows; ++i)
{
if(windows[i].isEmpty())
{
numWinIdle++;
winIdle += windows[i].idleTime;
windows[i].idleTime = 0;
windows[i].sTime = n;
break;
}
}
}
sim::void removeStudent()
{
for(int i = 0; i < numWindows; ++i)
{
if(windows[i].sTime <= simTime)
{
windows[i].sTime = 0;
}
}
}
sim::void setIdleTime()
{
for(int i = 0; i < numWindows;++i)
{
if(windows[i].isEmpty())
{
windows[i].idleTime += (simTime - windows[i].idleTime);
}
}
}
sim::void getIdleTime()
{
for(int i = 0; i < numWindows;++i)
{
if(windows[i].idleTime != 0)
{
numWinIdle++;
winIdle += windows[i].idleTime;
}
}
}
sim::void genQueue()
{
file.open(fileInput.c_str());
int numStudents;
check = true;
getline(file,line);
while(file >> line)
{
if(numStudents > 0)
{
queue->pushOn(atoi(line.c_str()));
--numStudents;
}
else if(check)
{
timeQueue->pushOn(atoi(line.c_str()));
check = false;
}
else
{
numStudent->pushOn(atoi(line.c_str()));
numStudents = atoi(line.c_str());
check = true;
}
}
file.close();
}
sim::bool checkWindows()
{
for(int i = 0; i < numWindows; ++i)
{
if(windows[i].isEmpty())
{
return true;
}
else
return false;
}
}
sim::int numWinOpen()
{
int count;
for(int i = 0; i < numWindows; ++i)
{
if(windows[i].isEmpty())
{
count++;
}
}
return count;
}
sim::void simulationTime()
{
if(timeQueue->isEmpty())
{
simTime++;
}
else
{
simTime = timeQueue->getFront();
timeQueue->popOff();
}
}
sim::void runSim()
{
if(checkWindows() && queue->isEmpty())
{
cout<<winIdle<<endl;
cout<<numWinIdle<<endl;
double mean = winIdle/double(numWinIdle);
cout<<"Registrar cleared"<<endl;
}
else
{
simulationTime();
removeStudent();
while(numWinOpen() > 0)
{
if(queue->isEmpty())
{
break;
}
else if(numStudent->isEmpty())
{
if(numWinOpen() > 0 && queue->isEmpty() == false)
placeStudent(queue->getFront() + simTime);
queue->popOff();
}
else if(numStudent->getFront() > numWinOpen())
{
for(int i = 0; i < numWinOpen();++i)
{
if(numWinOpen() > 0 && queue->isEmpty() == false)
placeStudent(queue->getFront() + simTime);
queue->popOff();
}
numStudent->popOff();
}
else if(numStudent->getFront() <= numWinOpen())
{
for(int i = 0; i < numStudent->getFront();++i)
{
if(numWinOpen() > 0 && queue->isEmpty() == false)
placeStudent(queue->getFront() + simTime);
queue->popOff();
}
numStudent->popOff();
}
}
setIdleTime();
runSim();
}
}
sim::void
是无稽之谈。你是说void
。
如果函数是在命名空间中声明的,那么需要限定的是函数名,而不是返回类型:
void sim::input()
这毫无意义:
sim::void input()
我想你的意思是:
void sim::input()
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 在c++类上调用void函数
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- 在派生函数中指定void*参数
- C++为什么尽管我调用了void函数,它却不起作用
- 如何从void函数输出字符串
- 我应该使用什么来代替void作为变体中的替代类型之一
- 奇怪的结构&GCC&clang(void*返回类型)
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- 为什么这个函数将"const char*"转换为"void* const"而不是"const void*"
- 引用一个已擦除类型(void*)的指针
- 将尾部调用void(i32,..)位转换为llvm::函数以获取FnAttribute
- 库函数需要一个 std::function<void(void)>,如何传入类函数?
- 如何将指针从一个void函数传递到另一个C++
- 从函数角度看ID到文件路径的内部与外部映射
- 通过组合不同的类型来创建唯一的id
- 为什么我在使用void函数时得到错误代码C2276
- "expected unqualified-id before 'void'" & "string in class does not name a type" 错误
- 错误:'void'之前应为非限定 ID
- 在"void"c++ 之前预期的非限定 id