2009-08-07 1 views
2

Я просто хочу конвертировать TBuf в TInt на Symbian. Я попытался сделать это следующим образом:TBuf to TInt Symbian

TBuf<2> buf; 
buf.Copy(_L("10")); 

TInt valInt; 
TLex8 lex(buf); 
lex.Val(valInt); 

Здесь я получаю то сообщение об ошибке:

Error: #289: no instance of constructor "TPtrC8::TPtrC8" matches the argument list 
     argument types are: (TBuf<2>) 

Помощь будет очень признателен!

Благодаря

ответ

2

Если вы используете TLex8, вы должны использовать TBuf8.

Попробуйте (My Symbian C++ ржавый, но это должно быть близко):

TBuf8<2> buf; 
buf.Copy(_L8("10")); 

TInt valInt; 
TLex8 lex(buf); 
lex.Val(valInt); 
+0

.. или в качестве альтернативы, используйте TLEX (который является псевдонимом для TLex16). BTW, 'buf.Copy (" 10 ")' не будет работать, вам нужно, например. '_L8 (" 10 ")', чтобы сделать его литералом дескриптора. – laalto

+0

Действительно. Хорошо подмечено. –