#pragma once template struct size2d { T w{0}; T h{0}; inline size2d operator/(const size2d& other); }; template inline size2d size2d::operator/(const size2d& other) { return {w / other.w, h / other.h}; }