void f( int& i ){ Print( i ); }
voidOnStart()
{
int a, b;
f( a = 5 ); //error: '=' - parameter passed as reference, variable expected
f( b = a ); //error: '=' - parameter passed as reference, variable expected
}
void f( int& i ){ Print( i ); }
voidOnStart()
{
int a, b;
f( a ==5 ); //error: '=' - parameter passed as reference, variable expected
f( b == a ); //error: '=' - parameter passed as reference, variable expected
}
A100: No seu exemplo o erro é justificado, no meu caso é diferente
Não li o código com cuidado e pensei automaticamente que tinha uma declaração condicional se, mas apenas uma função chamada f.
Deve passar uma variável ou algum valor pré-calculado para a função, não uma expressão.
void f( int& i ){ Print( i ); }
voidOnStart()
{
int a = 5;
int b = a;
f(a); //error: '=' - parameter passed as reference, variable expected
f(b); //error: '=' - parameter passed as reference, variable expected
}
Há algumas sugestões sobre a função ArrayResize. Precisamos de acrescentar a possibilidade de definir o parâmetroreserva_tamanho a -1, o que significaria utilizar o valor definido anteriormente. Depoisnão teríamos de armazenar ou transportar este valor. Seria suficiente primeiro redimensioná-lo com a reserva necessária, e depois não nos preocuparmos com isso .Caso contrário, é um inconveniente constante, quando se passa uma matriz para alguma função, que a redimensiona, mas não sabe nada sobre reserva predefinida nela, e como resultado a reduz, conduzindo a reafectações desnecessárias de memória mais tarde. Afinal, suponho, este valor é armazenado em algum lugar para uma matriz. Ou não é?
Por favor, explique o seguinte comportamento:
É estável e está sempre estável ou no primeiro tique do indicador de funcionamento?
O valor _LastError está em falta na janela de wotch
Tem a certeza?
e ao mesmo tempo Como se calcula isso? Se o primeiro for igual, o segundo será igual.Erro de compilação
Erro de compilação
No seu exemplo o erro é justificado, no meu caso é diferente
Não li o código com cuidado e pensei automaticamente que tinha uma declaração condicional se, mas apenas uma função chamada f.
Deve passar uma variável ou algum valor pré-calculado para a função, não uma expressão.
É preciso passar uma variável ou algum valor pré-calculado para a função, não uma expressão.
Qual é a diferença?
Qual é a diferença?
No primeiro caso, uma variável é passada, no segundo, o resultado da operação. E quem sabe o que é que ali se conseguiu para a entrada
De facto, este erro de referência tem sido aborrecido durante muito tempo, não deveria estar lá de todo.
Qual é a diferença?
Há algumas sugestões sobre a função ArrayResize. Precisamos de acrescentar a possibilidade de definir o parâmetroreserva_tamanho a -1, o que significaria utilizar o valor definido anteriormente. Depoisnão teríamos de armazenar ou transportar este valor. Seria suficiente primeiro redimensioná-lo com a reserva necessária, e depois não nos preocuparmos com isso .Caso contrário, é um inconveniente constante, quando se passa uma matriz para alguma função, que a redimensiona, mas não sabe nada sobre reserva predefinida nela, e como resultado a reduz, conduzindo a reafectações desnecessárias de memória mais tarde. Afinal, suponho, este valor é armazenado em algum lugar para uma matriz. Ou não é?