можете показать протототип нужжной вам функции? она шаблонная? или принимает конкретную специализацию класса? пока лучше этого не придумал:| Код | #include <cstddef> #include <iostream>
struct CPoint { std::size_t x; std::size_t y; };
template <typename T> struct Point { Point(void) : x(0) , y(0) { }
template<class PointType> Point(PointType const& point) : x(point.x) , y(point.y) { }
T x; T y; };
template <typename T> void processPoint(Point<T> const& point) { std::cout << "Point: [" << point.x << ", " << point.y << "]" << std::endl; }
int main(int argc, char* argv[]) { Point<int> point; { point.x = 3; point.y = 4; } processPoint(point);
CPoint cpoint = {5, 6}; processPoint<int>(cpoint); // I think that this one is better processPoint(Point<int>(cpoint)); // than it return 0; } |
|