Потому что,
CTest obj_Test(CTest::EN_TEST);
оценивается как функция с именем obj_Test
. Теперь он должен иметь аргумент в качестве типа, однако CTest::EN_TEST
является значением, а не типом .
Если предполагается, что obj_Test
объект, тогда вы передаете ему CTest::EN_TEST
в конструкторе:
class CAnotherTest
{
public:
CAnotherTest () : obj_Test(CTest::EN_TEST) {}
};