FA

Erros ao Compilar OTX

Por Farathor, 29 de jul. de 2016 em Programação

otx
5
2k
FarathorF
29 de julho de 2016 às 06:26


otserv.cpp: In function ‘void otserv(StringVec, ServiceManager*)’:
otserv.cpp:687:41: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
  if(result = db->storeQuery(query.str()))
                                         ^
otserv.cpp:697:57: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
     if(result_ = db->storeQuery(query_playeritems.str()))
                                                         ^
otserv.cpp:716:62: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
     if(result_ = db->storeQuery(query_playerdepotitems.str()))
                                                              ^
otserv.cpp:735:55: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
     if(result_ = db->storeQuery(query_tileitems.str()))
 

FarathorF
30 de julho de 2016 às 10:39

up

PoccnnP
30 de julho de 2016 às 13:20

A sentença esta mal declarada.

Substitua:

Citar

  if(result_ = db->storeQuery(query_tileitems.str()))

 

Por:

Citar

  if(result_ == db->storeQuery(query_tileitems.str()))

 

Caso seja isso que você queira; o qual me parece que não.

result_, deva ser uma variavel contendo algum valor, a qual voce esta tentando comparar com um valor obtido da database.

FarathorF
30 de julho de 2016 às 19:12

Se eu te passar o codigo, será que ajuda?

Ah, mais uma coisa, quanto vc cobraria para me ensinar lua?

@EDIT

fiz o que vc falou, deu isso

 

otserv.cpp: In function ‘void otserv(StringVec, ServiceManager*)’:
otserv.cpp:687:2: warning: ‘result’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  if(result == db->storeQuery(query.str()))
  ^
otserv.cpp:697:5: warning: ‘result_’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     if(result_ == db->storeQuery(query_playeritems.str()))
     ^
  CXX      party.o
  CXX      playerbox.o
  CXX      player.o
  CXX      position.o
player.cpp: In member function ‘void Player::manageAccount(const string&)’:
player.cpp:5102:30: warning: NULL used in arithmetic [-Wpointer-arith]
     if(msg.str().length() == NULL)
 

PoccnnP
31 de julho de 2016 às 07:45

Eu não entendo quase nada de c++, mas vou tentar te ajudar nessa.

 

Voce esta usando variaveis (result, result_), que podem ser usadas mas, nao foram declaradas; se tenha sido declaradas, e forem um objeto, chame com o ponteiro.

*result

*result_

 

Eu posso até te ensinar, mas nao tenho tempo, nao tenho meiis de te dar aulas. Eu poderia ate fazer tutoriais, mas existem muitos tutoriais ensinando sobre scripting lua no forum; seria bom voce ler eles.

 

No outro erro; voce esta comparando numero com NULL

Citar

 if(msg.str().length() == NULL)

 

lenght retorna um numero, se nao me engano, -1 é uma string vazia, 0 é o primeiro valor, 1 sao dois valores na string e assim sucessivamente.