www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/08/16/16:30:30

Xref: news2.mv.net comp.os.msdos.djgpp:7381
From: edkiser AT jaxnet DOT com (M. Edward Kiser)
Newsgroups: comp.os.msdos.djgpp
Subject: Add this to FAQ: <complex> and <string> must be #included before STL!
Date: Fri, 16 Aug 1996 07:25:52 GMT
Organization: Southeast Network Services, Inc.
Lines: 41
Message-ID: <4v18br$ev2@jaxnet.southeast.net>
Reply-To: edkiser AT jaxnet DOT com
NNTP-Posting-Host: ts2-022.southeast.net
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

<complex> and <string> must be #included before STL.

I found this out in a huge program and couldn't find the bug so I made
a copy and started deleting stuff to see when the bug would go away. I
eventually got to this, and the bug was still there:

#include <list>
#include <complex>
#include <string>

So I rearranged the includes

#include <complex>
#include <string>
#include <list>

and the bug went away.

I didn't see this in the FAQ or the INFO anywhere. Maybe I missed it.
But to make this less of a problem for others, I recommend not only
that the information be added if it is not present, but that something
like these lines be added to the beginnings of CINST.H and SINST.H:

#ifdef FUNCTION_H
#error Include this file before STL!
#endif

The full path, by the way, is \DJGPP\LANG\CXX\STD\ for both files.

This will replace a bunch of obscure errors with something more
obvious.

Including function.h first caused more headaches than I care to
recount.

I hope no one ever has these particular headaches again.
--------
Ed Kiser (edkiser AT jaxnet DOT com)
"The great epochs of our lives are at the points where
 we rebaptize our badness as the best in us." -- Nietzsche

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019