Re: Vectors as parameters in constructors
On Wed, 10 Sep 2008 18:42:07 +0200, Christian Hackl wrote:
Ruben wrote:
I'm working out an exercise with vectors and classes. I have a vector
defined in a constructor which is just failing to compile with a systax
error complaint by gcc:
The code is here:
http://www.nylxs.com/docs/workshops/recepe.h.html
You should not post URLs to C++ code uploaded to the web. Instead, put a
minimal, yet compilable example into the body of your newsgroup message.
test_cast.C:13:18: recepe: No such file or directory In file included
from recepe.C:13:
recepe.h:112: error: syntax error before `&' token recepe.h:113: error:
syntax error before `&' token recepe.h:117: error: syntax error before
`)' token
Something is wrong with the file "recepe.h" included via #include in
recepe.c in line 13.
#include <iostream>
#include <sstream>
#ifndef PHARM_H
#include "pharm.h"
#define PHARM_H
#endif
#ifndef EXCEPT_H
#define EXCEPT_H
#include <stdexcept>
#endif
#ifndef RECEPE_H
#define RECEPE_H
#endif
#ifdef VECTOR_H
#include <vector>
#define VECTOR_H
#endif
using namespace std;
class Ingr;
class Solution;
class Admix;
class Ingr
{
public:
Ingr();
Ingr( const string picklist );
Ingr(string const c_name, double const c_concentration);
Ingr(string const c_name, double const c_concentration, string const c_mass_units, string const c_vol_units);
Ingr(string const c_name, double const c_total_24_wgt, const string c_mass_units);
Ingr(Ingr&);
//getter methods
inline string name() const { return _name;}
inline string picklist() const {return _picklist;}
inline double concentration() const{return _concentration;}
inline string mass_units() const{return _mass_units;}
inline string vol_units() const{return _vol_units;}
inline double total_24_wgt() const{return _total_24_wgt;}
inline double wgt_kg_day() const{return _wgt_kg_day;}
inline double total_wgt_for_bag() const{return _total_wgt_for_bag;}
//putter methods
inline string name(string const m_name){ return _name = m_name;}
inline string picklist(const string m_picklist){return _picklist = m_picklist;}
inline double concentration(const double m_concentration){return _concentration = m_concentration;}
inline string mass_units(const string m_mass){return _mass_units=m_mass;}
inline string vol_units(const string m_vol_units){return _vol_units=m_vol_units;}
inline double total_24_wgt(const double m_total_24_wgt){return _total_24_wgt=m_total_24_wgt;}
inline double total_wgt_for_bag(const double m_total_for_bag){return _total_wgt_for_bag=m_total_for_bag;}
inline double wgt_kg_day(const double m_wgt_kg_day){return _wgt_kg_day = m_wgt_kg_day;}
private:
string _name;
string _picklist;
double _concentration;
string _mass_units;
string _vol_units;
double _total_24_wgt;
double _total_wgt_for_bag;
double _wgt_kg_day;
};
class Solution
{
public:
Solution();
Solution(const string m_name, int m_vol);
Solution (const string m_picklist);
Solution (const string m_name, const int m_vol, const string m_lyte, const double m_wgt, const string m_units);
//getter functions
inline string name()const{return _name;}
inline string unit()const{return _unit;}
inline string lyte()const{return _lyte;}
inline string lyte_unit()const{return _lyte_units;}
inline string picklist()const{return _picklist;}
inline int vol()const{return _vol;}
inline double lyte_wgt()const{return _lyte_wgt;}
//putter functions
inline string name(const string m_name){return _name = m_name;}
inline string unit(const string m_unit){return _unit = m_unit;}
inline string lyte(const string m_lyte){return _lyte=m_lyte;}
inline string lyte_wgt(const string m_lyte_wgt){return _lyte_units = m_lyte_wgt;}
inline string picklist(const string m_picklist){return _picklist = m_picklist;}
inline int vol(const int m_vol){return _vol = m_vol; }
inline double lyte_wgt(const double m_lyte_wgt){return _lyte_wgt = m_lyte_wgt;}
private:
string _name;
string _unit;
int _vol;
//kcl and mag prestocked solution need lytes data
string _lyte;
double _lyte_wgt;
string _lyte_units;
string _picklist;
};
class Admix
{
public:
vector<int> ctest;
Admix();
Admix(const Solution &c_bag);
Admix(const string &c_bag, const int &c_vol);
Admix(const string &c_bag, const int &c_vol, const vector<Ingr> &c_drugs);
Admix(const Solution &c_bag, const vector<Ingr> &c_drugs);
Admix(const Solution &c_bag, const Ingr &c_drug1);
Admix(const Solution &c_bag, const Ingr &c_drug1, const Ingr &c_drug2);
Admix(const Solution &c_bag, const Ingr &c_drug1, const Ingr &c_drug2, const Ingr &c_drug3 );
Admix(const Solution &c_bag, const Ingr &c_drug1, const Ingr &c_drug2, const Ingr &c_drug3, const Ingr &c_drug4 );
//getters
inline int number_of_bags() const{ return _number_of_bags;}
vector<Ingr> drugs() const{ return _drugs;}
inline Solution bag() const{ return _bag; }
//putters
inline int number_of_bags(int m_bags){ return _number_of_bags = m_bags;}
inline vector <Ingr> drugs(vector<Ingr> m_drugs){return _drugs = m_drugs; }
vector <Ingr>& drugs( Ingr m_drug);
inline Solution bag(m_bag) const{ return _bag = m_bag; }
//utility methods
double weight_calc(const string &mgkgperday, Solution &c_bag, const double &rate_ml_hr, const float &c_pt_wgt);
private:
vector <Ingr> _drugs;
Solution _bag;
int _number_of_bags;
};
--
http://www.mrbrklyn.com - Interesting Stuff
http://www.nylxs.com - Leadership Development in Free Software
So many immigrant groups have swept through our town that Brooklyn, like Atlantis, reaches mythological proportions in the mind of the world - RI Safir 1998
http://fairuse.nylxs.com DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
"Yeah - I write Free Software...so SUE ME"
"The tremendous problem we face is that we are becoming sharecroppers to our own cultural heritage -- we need the ability to participate in our own society."
"> I'm an engineer. I choose the best tool for the job, politics be damned.<
You must be a stupid engineer then, because politcs and technology have been attached at the hip since the 1st dynasty in Ancient Egypt. I guess you missed that one."
?? Copyright for the Digital Millennium