Radu, Thank you for the links. I partially solved the problem and skipped the part regarding the type-definition for the moment. What I did is as follows: template struct FeaturePoint{ float a; float b; float c; float d[how_many] }; #define HOW_MANY an_int_value POINT_CLOUD_REGISTER_POINT_STRUCT( pcl::FeaturePoint, (float, a, a) (float, b, b) (float, c, c) (float[HOW_MANY],d, d)); But of course, this is not sth that I want at the end. Since I cannot change values of macros or const declarations at run time, I cannot add different sized "FeaturePoint"s to the PointCloud2 structure. I have to define each FeaturePoint having different sized "d" member and register them one by one to achieve this purpose. Later, -Kadir- -- View this message in context: http://ros-users.122217.n3.nabble.com/POINT-CLOUD-REGISTER-POINT-STRUCT-and-using-templated-user-defined-points-tp2485736p2487273.html Sent from the ROS-Users mailing list archive at Nabble.com.