Я пытаюсь написать модульные тесты, в которых мы вызываем конструктор универсального класса в форме:
void testConstructor() {
int argc = 2;
ACE_TCHAR* argv[] = {"Input1", "Input2"};
MyClass *myClass = new MyClass(argc, argv);
/**processing**/
}
Думайте о ACE_TCHAR*
так же, как char*
. Приведенный выше код приводит к
warning: deprecated conversion from string constant to ‘ACE_TCHAR*’
Я также пробовал:
void testConstructor() {
int argc = 2;
ACE_TCHAR* argv[2];
argv[0] = "Input1";
argv[1] = "Input2";
MyClass *myClass = new MyClass(argc, argv);
/**processing**/
}
Что приводит к той же ошибке.
Я где-то читал в Интернете, что это можно смягчить, используя
const ACE_TCHAR* argv[] = {"Input1", "Input2"};
Но тогда компиляция завершается ошибкой из-за сигнатуры функции.
Изменить: мне не разрешено изменять сторонний код, я пишу для него только модульные тесты.
Любые идеи?
const
указателей. - person molbdnilo   schedule 01.02.2013class
в качестве идентификатора. Это зарезервированное ключевое слово в C++. Используйте, возможно,klass
- person Basile Starynkevitch   schedule 01.02.2013