Expressions build errors Win8 VS2013

Issue #170 resolved
Andrew Melim created an issue

Any one else replicating this error?

@dellaert

Error   756 error C2661: 'gtsam::Expression<gtsam::Point3>::Expression' : no overloaded function takes 3 arguments  C:\Users\water_000\borg\gtsam\gtsam_unstable\slam\expressions.h 33  1   SFMExampleExpressions
Error   758 error C2661: 'gtsam::Expression<gtsam::Point3>::Expression' : no overloaded function takes 3 arguments  C:\Users\water_000\borg\gtsam\gtsam_unstable\slam\expressions.h 33  1   Pose2SLAMExampleExpressions
Error   755 error C2661: 'gtsam::Expression<gtsam::Point2>::Expression' : no overloaded function takes 3 arguments  C:\Users\water_000\borg\gtsam\gtsam_unstable\slam\expressions.h 23  1   SFMExampleExpressions
Error   757 error C2661: 'gtsam::Expression<gtsam::Point2>::Expression' : no overloaded function takes 3 arguments  C:\Users\water_000\borg\gtsam\gtsam_unstable\slam\expressions.h 23  1   Pose2SLAMExampleExpressions

Comments (7)

  1. Andrew Melim reporter

    @nsrinivasan7 since you also run windows, can you verify this issue isn't isolated to me?

  2. Andrew Melim reporter

    Fixed this issue by specifying function pointer overloads before passing the function pointer to the Expression

    Point3_ transform_to(const Pose3_& x, const Point3_& p) {
    
      Point3(Pose3::*transform)(const Point3& p, 
                               boost::optional<Matrix36&> Dpose,
                               boost::optional<Matrix3&> Dpoint) const = &Pose3::transform_to;
    
      return Point3_(x, transform, p);
    }
    
  3. Log in to comment