Ниже я включил свой h-файл, и моя проблема в том, что компилятору не нравятся конструкторы моего простого исключения со списками инициализаторов. Это также говорит, что string is undeclared identifier
, хотя у меня есть #include <string>
в верхней части файла h. Вы видите что-то, что я делаю не так? Для дальнейшего объяснения это один из классов моего домена, который я интегрирую в приложение wxWidgets с графическим интерфейсом в Windows.
Спасибо!
time.h
#pragma once
#include <string>
#include <iostream>
// global constants for use in calculation
const int HOURS_TO_MINUTES = 60;
const int MINUTES_TO_HOURS = 100;
class Time
{
public:
// default Time class constructor
// initializes all vars to default values
Time(void);
// ComputeEndTime computes the new delivery end time
// params - none
// preconditions - vars will be error-free
// postconditions - the correct end time will be returned as an int
// returns an int
int ComputeEndTime();
// GetStartTime is the getter for var startTime
// params - none
// returns an int
int GetStartTime() { return startTime; }
// GetEndTime is the getter for var endTime
// params - none
// returns an int
int GetEndTime() { return endTime; }
// GetTimeDiff is the getter for var timeDifference
// params - none
// returns a double
double GetTimeDiff() { return timeDifference; }
// SetStartTime is the setter for var startTime
// params - an int
// returns void
void SetStartTime(int s) { startTime = s; }
// SetEndTime is the setter for var endTime
// params - an int
// returns void
void SetEndTime(int e) { endTime = e; }
// SetTimeDiff is the setter for var timeDifference
// params - a double
// returns void
void SetTimeDiff(double t) { timeDifference = t; }
// destructor for Time class
~Time(void);
private:
int startTime;
int endTime;
double timeDifference;
};
class HourOutOfRangeException
{
public:
// param constructor
// initializes message to passed paramater
// preconditions - param will be a string
// postconditions - message will be initialized
// params a string
// no return type
HourOutOfRangeException(string pMessage) : message(pMessage) {}
// GetMessage is getter for var message
// params none
// preconditions - none
// postconditions - none
// returns string
string GetMessage() { return message; }
// destructor
~HourOutOfRangeException() {}
private:
string message;
};
class MinuteOutOfRangeException
{
public:
// param constructor
// initializes message to passed paramater
// preconditions - param will be a string
// postconditions - message will be initialized
// params a string
// no return type
MinuteOutOfRangeException(string pMessage) : message(pMessage) {}
// GetMessage is getter for var message
// params none
// preconditions - none
// postconditions - none
// returns string
string GetMessage() { return message; }
// destructor
~MinuteOutOfRangeException() {}
private:
string message;
};
class PercentageOutOfRangeException
{
public:
// param constructor
// initializes message to passed paramater
// preconditions - param will be a string
// postconditions - message will be initialized
// params a string
// no return type
PercentageOutOfRangeException(string pMessage) : message(pMessage) {}
// GetMessage is getter for var message
// params none
// preconditions - none
// postconditions - none
// returns string
string GetMessage() { return message; }
// destructor
~PercentageOutOfRangeException() {}
private:
string message;
};
class StartEndException
{
public:
// param constructor
// initializes message to passed paramater
// preconditions - param will be a string
// postconditions - message will be initialized
// params a string
// no return type
StartEndException(string pMessage) : message(pMessage) {}
// GetMessage is getter for var message
// params none
// preconditions - none
// postconditions - none
// returns string
string GetMessage() { return message; }
// destructor
~StartEndException() {}
private:
string message;
};