2013-08-27 5 views
0

У меня есть свойство, называемое именем, которое зависит от индекса, части делегатов из списка. Я написал этот код:Неожиданная ошибка маркера при использовании, если

property string name : if (index == 0) 
         "ABC" 
         else if (index == 1) 
         "DEF" 
         else if (index == 2) 
         "GHI" 
         else if (index == 3) 
         "JKL" 
         else if (index == 4) 
         "MNO" 
         else 
         "XYZ" 

Он отлично работает на Qt5 (Linux), но когда я запустил его на Qt4.7 (Windows), я начал получать странные ошибки:

Неожиданное маркер `если» имя строки свойство: если (индекс == 0)

Ожидаемое квалифицированное имя идентификатор "ABC"

Может кто-нибудь дать понять, что может быть неправильно?

+2

Просто гадать: Qt5 = qtquick 2. Qt4 = qtquick 1. Возможно, вы использовали функции qtquick 2, которые не работают в qtquick 1? – Greenflow

+0

Я бы сказал, что на Qt4.7 вы не можете определить 'свойство' с несколькими' if/else'. Вы пытались вызвать функцию вместо этого? – koopajah

+0

@Greenflow Это не похоже на новую «особенность» для меня как таковой. Я уже внес необходимые изменения (изменение оператора импорта в QtQuick 1.0). –

ответ

0

Это работает, хотя вам может понадобиться обернуть if/else if/else if /.../ else в {}.

+0

Вы пробовали {if .... else ...} или if() {} else {} или оба? Он работает здесь ... Хотя использование Qt 4.8.5 – lpapp

+0

@AmitTomar: любая из этих двух работ (это должно)? – lpapp

+0

Я пробовал все возможные комбинации. {if {} else {}}, {if else}, если {} else {} и т. д. Но ни один из них не работает. Я использую Qt 4.7, хотя .. –

Смежные вопросы