/* { dg-do compile } */ #include template class Tensor; template class Tensor<1,dim> { public: explicit Tensor (const bool initialize = true); Tensor (const Tensor<1,dim> &); Tensor<1,dim> & operator = (const Tensor<1,dim> &); double values[(dim!=0) ? (dim) : 1]; }; template inline Tensor<1,dim> & Tensor<1,dim>::operator = (const Tensor<1,dim> &p) { for (unsigned int i=0; i class Quadrature { public: const unsigned int n_quadrature_points; }; class MappingQ1 { class InternalData { public: std::vector > shape_derivatives; unsigned int n_shape_functions; }; void compute_data (const Quadrature<3> &quadrature, InternalData &data) const; }; void MappingQ1::compute_data (const Quadrature<3> &q, InternalData &data) const { const unsigned int n_q_points = q.n_quadrature_points; data.shape_derivatives.resize(data.n_shape_functions * n_q_points); }