0

I want to use the string class in my program but I keep getting the following errors:

process.cpp:10: error: 'string' has not been declared
process.cpp:10: error: prototype for 'Process:: Process(int, int, int)'
does not match any in class 'Process'
process.h:14: error: candidates are: Process:: Process(const Process&)
process.h:16: error: Process:: Process(int, char*, int)
process.cpp: In constructor 'Process:: Process(int, int, int)':
process.cpp:14: error: invalid conversion from 'intâ to âchar*'
make: *** [process.o] Error 1

I don't understand why I'm getting this since my code doesn't seem to differ from the examples I found in tutorials too much:

/*
 * process.h
 *
 *  Created on: Oct 13, 2009
 *      Author: NTUser1
 */

#ifndef PROCESS_H_
#define PROCESS_H_

#include "thread.h"

#include <string>
#include <iostream>

using namespace std;

class Process : public Thread
{
public:
	Process(int at, string process, int bt);

	int arrivalTime;	// arrival time of a process
	string name;			// process name, e.g., P0, P1, P2
	int burstTime;		// CPU burst time of a process
	int remainTime;		// the remaining burst time of a process

	void run();

private:

};
/*
 * process.cpp
 *
 *  Created on: Oct 13, 2009
 *      Author: NTUser1
 */

#include "process.h"

Process::Process(int at, string process, int bt){

	arrivalTime = at;
	burstTime = bt; //etc for the rest of the vars
	name = process;
}

void Process::run(){
	state = RUNNING;
	sleep(burstTime);
	stop();
}

Edited by pocku: n/a

3
Contributors
5
Replies
7
Views
8 Years
Discussion Span
Last Post by pocku
0

I'm not sure which thread library you are using, but even without it you are missing an #endif at the end of your header. I'm not sure if that's the main issue. Are there other errors besides the ones you pasted in?

0

I'm not sure which thread library you are using, but even without it you are missing an #endif at the end of your header. I'm not sure if that's the main issue. Are there other errors besides the ones you pasted in?

I'm using pthread but no, I just forgot to paste in the #endif, it's there in my code. The errors I've posted are the only the ones I'm getting...

what compiler/version are you using ?

Not too sure as I am doing this on a university computer and I don't know where I can go check at this time.

Edited by pocku: n/a

0

what is the command line to compile something? Or are you using an IDE? Do you know what operating system (e.g. *nix or MS-Windows)?

0

what is the command line to compile something? Or are you using an IDE? Do you know what operating system (e.g. *nix or MS-Windows)?

I use either g++ or make (to compile multiple files together). I'm programming this on a terminal on linux.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.