no! just don't do this SGSparseVector<float64_t> v[size-1];

but instead *dynamically* allocate v with SG_MALLOC.