Dear ROOTers and C-inters,
I have a class called X which takes three double values, and
my aim is to rotate these values with a [3][3] rotation matrix..
Can I pass arrays as arguments to the member function ???
It compiles perfectly with g++. I use linux.
The contents are:
****************************************************************
#ifndef X_H
#define X_H
#include<iostream>
using namespace std;
class X
{
double x_, y_, z_;
public:
X(double x1,double y1, double z1);
X();
double getX() const { return x_;}
double getY() const { return y_;}
double getZ() const { return z_;}
friend X getRotatedX(X const & , double [3][3] );
};
X::X()
{ cout<<"Please enter [x y z]: "; cin>>x_>>y_>>z_; }
X::X( double x1_, double y1_, double z1_)
:x_(x1_),y_(y1_),z_(z1_){}
void X::showXYZ(ostream& os ) const
{ os<< x_<<'\t'<<y_<<'\t'<<z_<<endl; }
X getRotatedX(X const & aa, double a_[3][3])
{
double a1_=a_[0][0]*aa.getX()+a_[0][1]*aa.getY()+ a_[0][2]*aa.getZ();
double b1_=a_[1][0]*aa.getX()+a_[1][1]*aa.getY()+ a_[1][2]*aa.getZ();
double c1_=a_[2][0]*aa.getX()+a_[2][1]*aa.getY()+ a_[2][2]*aa.getZ();
X p(a1_,b1_,c1_);
return p;
}
#endif
*******************************************************
Now I do:
>>@user>>makecint -mk MakeBio -o bio -H x.h
>>@user>>make -f MakeBio // I get the following error...
******************************************************************
/home/shiva/cint/cint -w0 -zbio -nG__cpp_bio.C -D__MAKECINT__
-DG__MAKECINT -c-1 -A -DG__REGEXP -DG__SHAREDLIB -DG__OSFDLL -DG__ANSI
x.h
g++ -Wall -fguiding-decls -I/home/shiva/cint -DG__REGEXP -DG__SHAREDLIB
-DG__OSFDLL -DG__ANSI -O2 -c G__cpp_bio.C
G__cpp_bio.C: In function `int G___getRotatedX_3_3(G__value *, const char
*, G__param *, int)':
G__cpp_bio.C:152: passing `double **' as argument 2 of `getRotatedX(const
X &, double (*)[3])'
G__cpp_bio.C: In function `int G___getTranslatedX_4_3(G__value *, const
char *, G__param *, int)':
G__cpp_bio.C:162: passing `double **' as argument 2 of
`getTranslatedX(const X &, double (*)[1])'
G__cpp_bio.C: In function `int G___getRotoTranslatedX_5_3(G__value *,
const char *, G__param *, int)':
G__cpp_bio.C:173: passing `double **' as argument 2 of
`getRotoTranslatedX(const X &, double (*)[3], double (*)[1])'
make: *** [G__cpp_bio.o] Error 1
***********************************************************
where am I doing the mistake ???
thankyou very much for the help .
sincerely,
prasad.
Happy Day,
Prasad, B.V.L.S.,
Research Scholar.
*****************************************************************************
AIM OF SCIENTIFIC ADVENTURE : NATURE CRYSTALLOGRAPHY
*****************************************************************************
_________ __________ ________ ___________ ___________ ___________
|Thought| | Fourier| | | |Different| | Fourier | |Structure|
| waves |-->|Analysis|-->|NATURE|-->|Forms of |-->|Synthesis|-->| of |
| | | | | | |Knowledge| | | | NATURE |
|_______| |________| |______| |_________| |_________| |_________|
*****************************************************************************
shiva@mbu.iisc.ernet.in PROTEIN CRYSTALLOGRAPHY ...Shiva
*****************************************************************************
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:43 MET