locked
is this possible int MyFunc(int,int=1,int=2); RRS feed

  • Question

  • hay all, i'm tyring to declare a function with default values, as i do in other compiler

    but i'm getting syntex error.

    is this not supported in VC ? or there is other way to do this ?

    my code is:

    [code]

    MY_STDAPI LzmaCompress(unsigned char *, size_t  *, const unsigned char *, size_t,
      unsigned char *, size_t *,
      int = 5,  // <== here i'm getting an error: ") expected but found ="
      unsigned, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */
      int = 3,
      int = 0,
      int = 2,
      int = 32,
      int = 2
    );

    MY_STDAPI LzmaCompress(unsigned char *dest, size_t  *destLen, const unsigned char *src, size_t  srcLen,
      unsigned char *outProps, size_t *outPropsSize,
      int level, /* 0 <= level <= 9, default = 5 */
      unsigned dictSize, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */
      int lc, /* 0 <= lc <= 8, default = 3  */
      int lp, /* 0 <= lp <= 4, default = 0  */
      int pb, /* 0 <= pb <= 4, default = 2  */
      int fb,  /* 5 <= fb <= 273, default = 32 */
      int numThreads /* 1 or 2, default = 2 */
    )
    {
      CLzmaEncProps props;
      LzmaEncProps_Init(&props);
    }
    [/code]

    thanks in advanced

    Monday, May 10, 2010 11:36 PM

Answers

  • One problem:

    ...
    int = 5,  // <== here i'm getting an error: ") expected but found ="
    unsigned, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */
    int = 3,
    ...

    You have not supplied a default value for the
    unsigned argument.

    "If you supply a default parameter anywhere in a
    parameter list, you must define default parameters
    for all subsequent parameters."

    - Wayne
    Tuesday, May 11, 2010 12:28 AM

All replies

  • One problem:

    ...
    int = 5,  // <== here i'm getting an error: ") expected but found ="
    unsigned, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */
    int = 3,
    ...

    You have not supplied a default value for the
    unsigned argument.

    "If you supply a default parameter anywhere in a
    parameter list, you must define default parameters
    for all subsequent parameters."

    - Wayne
    Tuesday, May 11, 2010 12:28 AM
  • One problem:

    ...
    int = 5,  // <== here i'm getting an error: ") expected but found ="
    unsigned, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */
    int = 3,
    ...

    You have not supplied a default value for the
    unsigned argument.

    "If you supply a default parameter anywhere in a
    parameter list, you must define default parameters
    for all subsequent parameters."

    - Wayne

    thank you very much, you're right

    the error location confused me, so i didn't think to try this.

    Tuesday, May 11, 2010 5:52 AM