AJuda Estrutura correta

deglorio
em Programação

deglorio

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 31/01/09Posts: 108

Boa tarde, estou tentando fazer um código para dar look na pokeball quando dar trade e aparecer os atributos.

			int32_t valuee = (1,50);				if(tradeItem->getIntegerAttribute("boost") >= valuee)				ss << ", Boost: [" << tradeItem->getIntegerAttribute("boost", valuee) << "]";

Apareceu alguns erros e não sei como arrumar

no matching function for call to 'Item::getIntegerAttribute(const char [6], int32_t&)' 

candidates are: const int32_t* ItemAttributes::getIntegerAttribute(const std::string&) const 

 

Alguém me ajuda?

Dmy Recaida

Socialize-se
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/06/11Posts: 16Gênero: Masculino

Tenta

 

		int32_t valuee = (1,50);				if(tradeItem->getIntegerAttribute("boost") >= valuee) {                stdostringstream ss;				ss << ", Boost: [" << tradeItem->getIntegerAttribute("boost", valuee) << ]";                client->sendTextMessage(TextMessage(MESSAGE_STATUS_WARNING, ss.str()));           }

se não funcionar,
Mande-me o cpp para eu analisar esse "getIntegerAttribute".

Ajudei ? RESP +Não custa nada !

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

Cara, o que tu quer verificar? esse valor seu ta todo errado, como assim (1, 50) ???

 

O erro ta dizendo que não existe função com esse nome e com esses parametros. O correto é:

 

int32_t getIntegerAttribute(const std::string& key, bool &ok) const;

 

Se você quiser apenas verificar se ele tem o atributo tu tem que usar a função bool hasIntegerAttribute(const std::string& key) ou pode fazer direto com a getInteger mas usando o parametro booleano dela
Imagino que queria fazer algo assim:

    bool hasBoost;    int32_t valuee =  tradeItem->getIntegerAttribute("boost", hasBoost);    if(hasBoost && valuee >= 1 && valuee <= 50)        ss << ", Boost: [" << valuee << "]";

 

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

Luga03

Gabriel Lucena :D
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/04/15Posts: 956Gênero: Masculino
Em 13/04/2016 at 12:32, dalvorsn disse:

Cara, o que tu quer verificar? esse valor seu ta todo errado, como assim (1, 50) ???

 

O erro ta dizendo que não existe função com esse nome e com esses parametros. O correto é:

 

int32_t getIntegerAttribute(const std::string& key, bool &ok) const;

 

Se você quiser apenas verificar se ele tem o atributo tu tem que usar a função bool hasIntegerAttribute(const std::string& key) ou pode fazer direto com a getInteger mas usando o parametro booleano dela

Imagino que queria fazer algo assim:

    bool hasBoost;    int32_t valuee =  tradeItem->getIntegerAttribute("boost", hasBoost);    if(hasBoost && valuee >= 1 && valuee <= 50)        ss << ", Boost: [" << valuee << "]";

 

Não seria melhor e mais simples, fazer o onLook funcionar ao dar look no item de trade? Isso iria simplificar bastante, já que o código no onLook funciona perfeitamente!

Hello! How are you? It's fine? 

 

Okay, so you like my helps? if yes, then do you can like my post, give-me a reputation, you can't?

 

Good morning for everyone! And have a good day!

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino
6 horas atrás, BielLucena1291 disse:

Não seria melhor e mais simples, fazer o onLook funcionar ao dar look no item de trade? Isso iria simplificar bastante, já que o código no onLook funciona perfeitamente!

Não pelo fato de tu ter que reescrever todo o look, é bem mais chato que simplesmente adicionar uma string no look ja existente

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)