• Advertisement
Sign in to follow this  

Anyone want to help me get this boost::enable_if correct

This topic is 2255 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Class definition:

#include <boost/array.hpp>
#include <boost/type_traits.hpp>
#include <boost/utility/enable_if.hpp>

template<typename CoordinateType, int WIDTH, int HEIGHT, typename boost::enable_if<boost::is_integral<CoordinateType> >::type* = 0>
class Plane3D{
public:
typedef boost::array< boost::array<CoordinateType,WIDTH>, HEIGHT> PlaneType;
private:
PlaneType m_grid;
public:

};


instantiation:

Plane3D<float,30,30> grid;

Share this post


Link to post
Share on other sites
Advertisement
What exactly is the problem? Your template forbids you to instantiate the class template with type float.


(Edit: note though that it won't work without some C++0x semantics supported by your compiler. Otherwise you need the enable_if to be placed differently, as described in the documentation.)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement