Removing all the irrelevant noise here seems to be (one of) your problem(s):
class WeatherForecaster
{
public:
// you declare a constructor that does not take any variables
WeatherForecaster();
// ...
};
Does the definition match?
// you define a constructor that takes three and a half million variables!!!
WeatherForecaster::WeatherForecaster(string d, string fd, int ht, int lt, int h, int aw, string awd, int mw, string mwd, double p){
// ...
}
You need to get your constructor declarations and definitions to match each other and how you intend to construct objects of this class.
solved How do I get this constructor to work?