Цитата(igor_bogomolov @ 14.10.2010, 23:10)
Цитата(Алексей1153 @ 14.10.2010, 23:57)
a Q_OBJECT не забыл в своём классе ?
Q_OBJECT здесь ни при чём. Просто нужно зарегистрировать указатель на int как метатип
Q_DECLARE_METATYPE(int*)
Конечно, я так пробовал делать, пробовал также сначала typedef'ом переопределять int*, а потом уже регистрировать его как метатип:
typedef int* ptr;
Q_DECLARE_METATYPE(ptr)
Visual Studio 2008 ругается: qt_metatype_id: не является членом "QMetaTypeId<T>"
Вот собственно упрощенный вариант *.h файла класса-тестировщика:
#include <QtTest>
class Test_MyMathFunction : public QObject
{
Q_OBJECT
private slots:
void sumArrayt_data();
void sumArrayt();
};
void Test_MyMathFunction::sumArrayt_data()
{
QTest::addColumn<int>("arr");
int arr[5] = {1, 3, 0, -2, 4};
QTest::newRow("Test1") << 0;
}
void Test_MyMathFunction::sumArrayt()
{
QFETCH(int, arr);
}
QTEST_MAIN(Test_MyMathFunction)
#include "main.moc"
Требуется создавать колонку и записывать туда не int, а int*, ну и соответственно, вместо нуля писать arr