1
也许有人知道,是否有可能在本征中转发申报类型MatrixXd & VectorXd?类型MatrixXd&VectorXd的前向声明?
在编译时,我得到以下错误:
/usr/include/eigen3/Eigen/src/Core/Matrix.h:372:34:错误:矛盾的声明“的typedef类征::矩阵Eigen :: MatrixXd'
typedef Matrix Matrix ## SizeSuffix ## TypeSuffix;
SIMP.h
#ifndef SIMP_H
#define SIMP_H
namespace Eigen
{
class MatrixXd;
class VectorXd;
}
class SIMP {
public:
SIMP(Eigen::MatrixXd * gsm, Eigen::VectorXd * displ);
SIMP (const SIMP& other) = delete;
~SIMP(){}
SIMP& operator= (const SIMP& other) = delete;
bool operator== (const SIMP& other) = delete;
private:
Eigen::MatrixXd * m_gsm;
Eigen::VectorXd * m_displ;
};
#endif // SIMP_H
SIMP.cpp
#include "SIMP.h"
#include <Eigen/Core>
SIMP::SIMP(Eigen::MatrixXd * gsm, Eigen::VectorXd * displ) :
m_gsm(gsm),
m_displ(displ),
{
}
有一些自动typedefs设置显式模板=) –
感谢您的回答! –