| re: c2064 problem-- namespace issue??
> Hello all,[color=blue]
>
> Basic question. I have a vector/matrix class I'm building, and I seem
> to be getting errors such as this:
>
> .\otherFileUsingVectorMatrixClass.cpp(182) : error C2064: term does
> not evaluate to a function[/color]
What is this line?
[color=blue]
> the specs are such:
>
> vec3f.h:
> Vec3f[/color]
What is that?
[color=blue]
> {
> ...
> public:
> ...
>
> // calculate dot product
> friend float dot( const Vec3f&, const Vec3f& );
> };[/color]
[color=blue]
> vec3f.cpp:
> float dot( const Vec3f &a, const Vec3f &b )
> { return a[0]*b[0] + ...; }
>
> vecMatClass.h
>
> #include "vec2f.h"
> #include "vec3f.h"
> #include "vec4f.h"
> #include "mat3f.h"
> #include "mat4f.h"[/color]
What are these?
[color=blue]
> -------------
> someOtherFileUsingVectorMatrixClass.cpp:
>
> #include "vecMatClass.h"
>
> void Class::foo()[/color]
What is that ?
[color=blue]
> {
> Vec3f a( 2,3,4 ), b( 5,3,2 );
> const float dotP = dot( a, b );
> }
>
>
>
>
> Am I missing something?[/color]
Yes, you should post compilable code, not just try to rewrite it.
[color=blue]
> For a large program, is it ok to "pollute" the global namespace with
> such functions as dot() (and there are 3 versions of it, for Vec2f,
> Vec3f, and Vec4f)?[/color]
afaik, there was no namespaces in your program.
Jonathan |