Can someone please help me understand why I keep getting the error "Expected constructor, destructor, or type conversion before '.' token"? I've seen many variants of this error on other posts but none really seem to help me. I've included the important code fragments below. Let me know if more is needed. Thank you.

Code:

Code:/* Begin NRldlmain.cpp */ #include "nr3.h" #include "sparse.h" #include "NRldl.h" //#include "interiorv1-N3-M3-K1.h" int k=1; doubleX_act[3]= {0.000000,0.957167,0.000000,}; int NV=3, N=NV; int NC=3, M=NC; NRsparseMatmy_A; my_A.nrows = M; ** Error ** my_A.ncols = N; ** Error ** my_A.nvals = M*N; ** Error ** /* Begin sparse.h */ structNRsparseMat//sparse matrix data structure for compressed column storage { Int nrows; //number of rows Int ncols; //number of columns Int nvals; //maximum number of nonzeros VecInt col_ptr; //pointers to start of columns. length is ncols+1 VecInt row_ind; //row indices of nonzeros VecDoub val; //array of nonzero values NRsparseMat(); //default constructor NRsparseMat(Int m,Int n,Int nnvals); //constructor. initializes vector to zero VecDoub ax(constVecDoub &x) const; //multiply A by a vector x[0…ncols-1] VecDoub atx(constVecDoub &x) const; //multiply A transpose by a vector x[0…nrows-1] NRsparseMat transpose() const; //form A transpose }; NRsparseMat::NRsparseMat() : nrows(0),ncols(0),nvals(0),col_ptr(), row_ind(),val() {} NRsparseMat::NRsparseMat(Int m,Int n,Int nnvals) : nrows(m),ncols(n), nvals(nnvals),col_ptr(n+1,0),row_ind(nnvals,0),val(nnvals,0.0) {}