这是我的主要功能:
void main(int argc, char **argv)
{
if (argc >= 4)
{
ProcessScheduler *processScheduler;
std::cout <<
"Running algorithm: " << argv[2] <<
"\nWith a CSP of: " << argv[3] <<
"\nFilename: " << argv[1] <<
std::endl << std::endl;
if (argc == 4)
{
processScheduler = new ProcessScheduler(
argv[2],
atoi(argv[3])
);
}
else
{
processScheduler = new ProcessScheduler(
argv[2],
atoi(argv[3]),
atoi(argv[4]),
atoi(argv[5])
);
}
processScheduler -> LoadFile(argv[1]);
processScheduler -> RunProcesses();
GanntChart ganntChart(*processScheduler);
ganntChart.DisplayChart();
ganntChart.DisplayTable();
ganntChart.DisplaySummary();
system("pause");
delete processScheduler;
}
else
{ …Run Code Online (Sandbox Code Playgroud) 我对malloc不太了解,我知道有类似的问题,但我仍然想问.
当我编译我的代码时,我遇到了这些错误
scheduler.c: In function 'char* addprocess(char*, FILE*)':
scheduler.c:127:60: error: invalid conversion from 'void*' to 'process*'
scheduler.c:135:38: error: invalid conversion from 'void*' to 'char*'
scheduler.c:170:65: error: invalid conversion from 'void*' to 'event*'
scheduler.c: In function 'int main()':
scheduler.c:381:52: error: invalid conversion from 'void*' to 'stat*'
*** Error code 1
make: Fatal error: Command failed for target `all'
Run Code Online (Sandbox Code Playgroud)
以下是代码中的行.
127 struct process* newproc = malloc(sizeof(struct process));
135 newproc->name = malloc(line-pos-1);
170 struct event* newevent = malloc(sizeof(struct event));
381 statistics = malloc(amount* …Run Code Online (Sandbox Code Playgroud)