> Bjarne Stroustrup who said something along the > lines of "Every use of a define is an instance of a programmer not > programming correctly."
Gee, thanks. But Bjarne Stroustrup was probably writing about C++, which allows constants to be associated with a class: const double Synth::DEFAULT_FRAME_RATE = 44100.0; For C++, this construct is preferable to using a #define because the scope is limited to the class and would not conflict with, for example: const double Video::DEFAULT_FRAME_RATE = 30.0; That is a great feature of C++ but PortAudio is using 'C' not C++. So I think our only choices are #define and enum. PortAudio uses both. http://www.portaudio.com/docs/v19-doxydocs/portaudio_8h.html Are enums better than #defines?? I am always trying to improve my 'C' chops so I am open to suggestions. Phil Burk > > > > Imagine being able to write to an API as simple and well-designed as > > > > this: <http://www.portaudio.com/docs/v19-doxydocs/portaudio_8h.html> > > > > > > Just out of interest, why are paNoDevice, paFloat32, etc, defines > > > instead of const values? > > > > I don't really know. Isn't that kind of a six/half-dozen detail? > > Probably. I think it was Bjarne Stroustrup who said something along the > lines of "Every use of a define is an instance of a programmer not > programming correctly." But I was just wondering if it was some > portability thing or something. > -- > Bob Ham <[EMAIL PROTECTED]>