Erros, bugs, perguntas - página 1003
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
ts===verdadeiro e ts!=NULL são expressões completamente diferentes.
Além disso
ts===verdadeiro e ts!=falso são também expressões diferentes
Sabe como eles são diferentes? Não só na sintaxe, mas também na semântica.
O único ponto da questão era que o ts é uma matriz. E porque é que isto se (ts) compilar e os acima mencionados não o fizerem.
A expressão se(ts) significa que a matriz de objectos ts realmente existe. Criei especificamente a semântica.
Quer proibir a compilação deste caso ou será suficiente um aviso? (A propósito, deve haver um aviso. Se não há nenhum aviso, a culpa é nossa, algo está partido)
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Insectos, insectos, perguntas
stringo, 2013.06.17 06:35
Se a expressão "ts" significa que o objecto da matriz ts existe realmente. Mencionei especificamente a semântica.
Quer proibir a compilação deste caso ou é suficiente um aviso? (A propósito, deve haver um aviso. Se não houver aviso, a culpa é nossa, algo está partido)
void OnInit()
{
ts[0]=0;ts[1]=1;
if(ts)Print("ts[0]=0");
ts[0]=1;
if(ts)Print("ts[0]=1");
}
void OnTick()
{
}
O ServiceDesk não reconhece o erro, referindo-se ao facto de os identificadores não poderem começar com um número.
Mas o 5Test não é um identificador, é um nome de ficheiro. E os nomes dos ficheiros podem começar com um dígito e não foram impostas restrições à #importação de nomes de ficheiros .ex5
O ServiceDesk não reconhece o erro, referindo-se ao facto de os identificadores não poderem começar com um número.
Mas o 5Test não é um identificador, é um nome de ficheiro. E os nomes de ficheiro podem começar com um dígito e não foram impostas restrições à #importar nomes de ficheiro .ex5
5Test::A é um identificador.
E 5Test é reconhecido como um nome de ficheiro desde que este nome esteja entre aspas na frase de importação (a propósito, também tem aí escrito "5Test.ex5").
É por isso que os compiladores C/C++ adicionam automaticamente um carácter de sublinhado (_) à representação interna do nome da função num ficheiro/módulo, para que o nome resultante "_5TestA" não comece com um número, o que garante a compatibilidade
Como se revelou, assim se revelou. Só tem de o aceitar.
Este é um lugar perigoso para editar - o comportamento do compilador pode mudar tanto que ninguém ficará satisfeito.
Este é um lugar perigoso para editar - o comportamento do compilador pode ser alterado de tal forma que ninguém ficará satisfeito.
Concordo.
Por favor, dê uma vista de olhos a este exemplo:
O compilador C/C++ tem cérebros suficientes para distinguir a variável aX da macro paramétrica aX( X ).
As macros paramétricas são a única alternativa na ausência de funções em linha e os nomes podem frequentemente sobrepor-se em código longo
Concordo.
Por favor, dê uma vista de olhos a este exemplo:
O compilador C/C++ numa situação semelhante tem a inteligência para distinguir a variável aX da macro paramétrica aX( X )Claro, apenas publicou exemplos no outro dia:
Obrigado! Descobriu-o com a sua ajuda.