[Flac-dev] const issue in FLAC__lpc_compute_residual_from_qlp_coefficients (libFLAC/lpc.c:233)

Matt Zimmerman mdz at debian.org
Tue Jan 13 16:44:05 PST 2004


On Tue, Jan 13, 2004 at 02:04:48PM -0800, Josh Coalson wrote:

> --- Denis Chatelain <listes at octopodus.com> wrote:
> > Hello,
> > 
> > 
> > I just tried to compile libFLAC (using Borland C++ Builder 6 on
> > Windows).
> > 
> > The compilers yells at me on line 233 of libFLAC/lpc.c
> > 
> > *(residual++) = *(data++) - (sum >> lp_quantization);
> > --> data is const and cannot be modified
> > 
> > Funny thing is, if data is declared:
> >    const FLAC__int32 *data
> > instead of
> >    const FLAC__int32 data[]
> > 
> > everything is ok.
> > 
> > Is this a bug in my compiler, or a personnal lack of understanding of
> > the difference in C between *data and data[] ?
> 
> hmmm, not sure what the standard says on this.  but it's
> OK to change it to
> 
> const FLAC__int32 *data
> 
> in order to get it to compile.

I haven't checked, and I don't recall whether it covers the case of const
arrays, but this article has helped me in the past:

http://www.parashift.com/c++-faq-lite/const-correctness.html

-- 
 - mdz




More information about the Flac-dev mailing list