Pow() build error!



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 17/06/2011 at 19:02, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   12 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    I get this error message during compile when using the C4D SDK Pow() method:

    error C2064: term does not evaluate to a function taking 2 arguments

    Can anyone verify?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 18/06/2011 at 00:56, xxxxxxxx wrote:

    A simple call to Pow() seems to work okay for me:

      
         Real r1, r2, r3;   
      
         r1 = 2.0;   
         r2 = 3.0;   
         r3 = Pow(r1, r2);   
    

    Compiles without problems. Looking at the C2064 error explanation in VS, are you perhaps calling Pow() in some way other than the simple call I've tested?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 18/06/2011 at 08:12, xxxxxxxx wrote:

    I called it like this:

    Real norm = something;
    Real power;
    ...
    power = Pow(norm, 1.5);

    Seems pretty straightforward to me.  What?  This version of Pow() can't accept constants?
    Might be a conflict somewhere in headers but I can't imagine from what as I don't use any outside headers here.

    ETA: And note that pow(a,b) (the standard C++ math method from which Pow() is defined) works flawlessly.  Something is amiss in the C4D derivation.

    Thanks,



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 18/06/2011 at 11:11, xxxxxxxx wrote:

    The build issue seems to have disappeared after changes to the code in the general area.  Maybe it was some naming issue.  I've seen this with 'array' which seems to have become a keyword (or reserved method name).  You'd think that developers would get some respect and the IDE or compiler would let you know that a name is already in use instead of just letting you fall into the sink-hole of endless debugging.  As my reply at CGTalk went, no wonder hardware is far outpacing software development.  We need new languages, much better tools, less vague issues.

    I just put my soapbox away. 👏


Log in to reply