Ulrich Windl <[EMAIL PROTECTED]> writes:

> when trying to compile an older application that compiled for around g++ 2.8,
> I see several errors:
>
> `cerr' undeclared (formerly from <iostream.h> I think)

Add "using namespace std;" or replace 'cerr' with 'std::cerr' ...

> `std::basic_string' cannot be converted to `const char *' when used as actual
> parameter for a function call

Use string::c_str() to get the "C string representation" ...

> The macro definition
> #define foo(n) set_##n##(const char *s)
> does no longer work. The error is ` pasting "set_SAMPLE" and "(" does not give
> a valid preprocessor token

That's because one of the '##' is unnecessary. 
Try '#define foo(n) set_ ## n (const char *s)'

> Is there some "porting guide" for those who did not actively follow recent C++
> development?

I don't know of such, but would recommend "Accelerated C++" by
Andrew Koenig and Barbara E. Moo as a "quick refresh course on
modern C++". http://www.acceleratedcpp.com/

A lot of your errors appear to stem from very dated understanding
of C++.

Cheers,
-- 
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
_______________________________________________
Help-gplusplus mailing list
Help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to