none
Tratar o seguinte erro no retorno da função: illegal use of this type as an expression RRS feed

  • Pergunta

  • Tenho a seguinte struct:

    typedef struct tagPRODUTO
    {
    	int nCodProduto;					// apenas para verificar se a leitura foi OK
    	char cNomeProduto[41],				// descrição do produto
    		cAtivoOuExcluido;				// 'A' - ativo, 'E' - excluido
    	double dValorUnitario,				// valor unitário do produto
    		dQtdeEstoque,					// quantidade do produto em estoque
    		dQtdeTotalEntrada,				// quantidade total acumulada de entrada
    		dQtdeTotalSaida;				// quantidade total acumulada de saida
    } PRODUTO;								// struct do produto
    

    E a seguinte função:
    nRetorno = PedirCodigoLerProduto(PRODUTO *stProduto,  PRODUTO *vetProdutos);	//Chamar a função que pede o código do produto
    				if(nRetorno == -1)							//Se o retorno é 0 indicar que operador desistiu simplesmente
    				{
    					cout <<"Operador desistiu simplesmente!";
    					break;
    				}
    E na compilação, apresenta o erro: illegal use of this type as an expression na linha de nRetorno acima, onde estou errando?
    • Movido AndreAlvesLima quinta-feira, 9 de agosto de 2012 18:14 (De:Conteúdo do site MSDN)
    quarta-feira, 8 de agosto de 2012 23:35

Todas as Respostas

  • Prezado(a),
    Estou migrando seu post para o fórum de Visual C++.
    Por favor, das próximas vezes que tiver alguma dúvida relacionada a esse assunto, poste por lá.
    Obrigado.

    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    quinta-feira, 9 de agosto de 2012 18:13
  • onde e como você declarou stProduto e vetProduto? estou supondo que você declarou os mesmos como ponteiro correto? qual a assinatura do seu metodo PedirCodigoLerProduto? recebe ponteiros da mesma forma?

    o erro está no seguinte: PedirCodigoLerProduto(PRODUTO *stProduto,  PRODUTO *vetProdutos);

    passe apenas PedirCodigoLerProduto (stProduto, vetProdutos) (bom, vai depender da assinatura do metodo e se o objeto é um ponteiro ou um tipo por valor).

    att.


    Certificado VC++ 6.0, MCSD.NET, MCPD Enterprise

    • Sugerido como Resposta Vitor dos Santos quarta-feira, 15 de agosto de 2012 19:23
    terça-feira, 14 de agosto de 2012 00:38