Здравствуйте, гость ( Вход | Регистрация )
Алексей1153 | Дата 23.6.2010, 17:36 |
Ясно | |
inviZ | Дата 23.6.2010, 15:47 |
Алексей1153, наверное, вы невнимательно прочитали тему. Естественно, в хидере объявление класса находится в этом же пространстве имен. В данном случае речь идет не об ошибке компиляции (отсутствуют они здесь), а об ошибке утилиты lupdate из инструментария Qt. | |
Алексей1153 | Дата 23.6.2010, 14:38 |
Всё ничуть не баг, а только синтаксис C++ Студия, кстати, так же реагирует. А вот если объявление класса поместить в это же пространство имён, то всё хорошо
а вот это Цитата
И есть как раз глюк. Даже вот так с ходу не могу понять, что тут подумал компилятор )) |
|
molchanoviv | Дата 23.6.2010, 14:28 |
Думаю да. | |
inviZ | Дата 23.6.2010, 14:26 |
Короче говоря, сегодня мною был обнаружен баг. Если класс не принадлежит глобальному пространству имен, lupdate отказывается правильно определять контекст. Т.е., на такой код:
Он ругается подобным образом: C:/Projects/Temporary/TempProject9/main.cpp:13: Qualifying with unknown namespace/class ::MyClass В результате в TS-файле получаем следующее:
Хотя должно быть, конечно же "<name>MyNamespace::MyClass</name>". Естественно, такой файл перевода оказывается "нерабочим". Пока решил эту проблему так - использую lupdate из 4.5. Хотя, конечно, можно решить проблему, полностью специфицируя контекст, т.е.:
Но я думаю, понятно, что не самый удобный вариант. В общем, стоит ли отправить багрепорт? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 14:47 |