Часто я вижу этот тип объявления + реализации в C ++, когда я читаю некоторые коды из OpenCV или OpenCascade
TEST(Shape_SCD, regression)
{
const int NSN_val=5;//10;//20; //number of shapes per class
const int NP_val=120; //number of points simplifying the contour
const float CURRENT_MAX_ACCUR_val=95; //99% and 100% reached in several tests, 95 is fixed as minimum boundary
ShapeBaseTest<float, computeShapeDistance_Chi> test(NSN_val, NP_val, CURRENT_MAX_ACCUR_val);
test.safe_run();
}
Это может оказаться глупым вопросом, не так ли? так как я не понимаю, что это за декларация. Это похоже на функцию, но нет возвращаемого типа. Если это конструктор, почему в списке аргументов нет переменных типа?
Спасибо
TEST
это макрос. После раскрытия макроса это будет обычное определение функции (с типом возврата). Вы должны увидеть это, если посмотрите определение макроса.
Других решений пока нет …