patch against 2.9.0 and c++

Peter Ernst P.Ernst at
Tue Aug 10 09:18:58 UTC 2004

To my knowledge "string" is NOT a reserved word in C++.
You run only into problems, when copying the std:: namespace onto the
Emboss namespace with "using namespace std;".

>From "The C+ + Programming Language Third Edition: by Bjarne

   You must either use the std:: prefix or make every name from std
   global (§8.2.3). For example:

   #include<string>     // make the standard string facilities accessible

   using namespace std; // make std names available without std:: prefix

   string s = "Ignorance is bliss!"; // ok: string is std::string

   It is generally in poor taste to dump every name from a namespace into
   the global namespace.
   A using directive makes names from a namespace available almost as if
   they had been declared outside their namespace.

Kind regards,


 Peter Ernst
 Department of Molecular Biophysics - B020
 Deutsches Krebsforschungszentrum (German Cancer Research Center) DKFZ
 Im Neuenheimer Feld 580 / Technologiepark 3
 69120 Heidelberg, Germany                     phone: +49-6221-42-2330               fax: +49-6221-42-2333

On Fri, 6 Aug 2004, Peter Rice wrote:

> Antonio Cavallo wrote:
> > included in this message you can find a patch against the emboss 2.9.0.
> > It fixes some mystyping that makes impossible to compile
> > programs under c++.
> > Mainly these are fixes for variables with a string name (in c++ a
> > reserved keyword).
> Thanks. I have added these to the code documentation scripts (
> although we don't check plplot with that.
> Most of the embest.h ones are obsolete - I have cleaned up the old est_genome
> definitions which removed all of the "string" variable names.
> What C++ compiler are you using (with what options) ?
> regards,
> Peter Rice

More information about the emboss-dev mailing list