Erreurs, bugs, questions - page 2025

 
leonerd:

Comment supprimer les flèches du graphique de visualisation des tests ? Je commence à tester et il y a toujours des flèches et des lignes provenant des entrées du dernier test.

Nettoyez le modèle tester.tpl, les objets s'y trouvent probablement.

 
A100:

Double erreur d'exécution

Résultat : f(SIZE).

Ce devrait être : g5


Cela me semble être un résultat logique.

 
fxsaber:
Cela me semble être un résultat logique.

Attendu : première substitution de la macro interne SIZE, puis de la macro intermédiaire f( X ) et enfin de la macro externe MACRO2( X ).

Mais le résultat est différent même si vous utilisez une logique incomplète :

#define  MACRO1( X )     #X
void OnStart()
{
    printf( "%s", MACRO1( f( SIZE )));
}
//Результат  :f(SIZE)
//должен быть:f( SIZE )

Au moins la différence est dans les espaces

 
A100:

Attendu : première substitution de la macro interne SIZE, puis de la macro intermédiaire f( X ) et enfin de la macro externe MACRO2( X ).

Mais le résultat est différent même si vous utilisez une logique incomplète :

Au moins la différence est dans les espaces.

La priorité pour les fonctions est, bien sûr, de l'intérieur vers l'extérieur. Avec les macros, en revanche, c'est l'inverse.

#X est une chaîne de caractères sans espaces. Vous pouvez ne pas être d'accord avec cela, bien sûr.

 
fxsaber:

La priorité pour les fonctions est, bien sûr, de l'intérieur vers l'extérieur. Les macros, quant à elles, ont l'envers du décor.

#X est une chaîne de caractères sans espaces. Vous pouvez ne pas être d'accord avec cela, bien sûr.

Mais pourquoi devrions-nous inventer de nouvelles règles compliquées avec une ancienne notation alors qu'il existe déjà d'anciennes règles simples avec une telle notation - connues d'un large cercle de personnes et établies depuis des décennies ? Si les règles sont nouvelles, les désignations doivent l'être aussi.

 
A100:

Double erreur d'exécution

Résultat : f(TAILLE)

Devrait être : g5

J'ai envoyé une demande similaire au service-desk il y a un an (#1600034), elle est toujours sans réponse. Il semble qu'ils ne se soucient pas de tous ces bugs de "geek". Et en général, la langue n'a pas l'intention de s'améliorer, à en juger par tous. Seuls les gros bogues sont corrigés, et pas plus.
 
A100:

Pourquoi inventer de nouvelles règles compliquées avec d'anciennes désignations alors qu'il existe déjà d'anciennes règles simples avec de telles désignations - connues d'un grand nombre de personnes et établies depuis des décennies ? Si les règles sont nouvelles, les désignations doivent l'être aussi.

De quoi parlons-nous exactement ? Comment cela doit-il être ?

 
fxsaber:

De quoi parlons-nous exactement ? Et comment cela devrait-il être ?

#X est la chaîne de caractères telle quelle, c'est-à-dire avec les espaces (le cas échéant). Et voir l'exemple ci-dessus de f( SIZE ) -> g5. Je n'ai pas inventé ces règles moi-même - c'est comme ça que font les compilateurs C++.

 
Alexey Navoykov:
J'ai envoyé une demande similaire au service-desk il y a un an (#1600034), toujours sans réponse. Il semble qu'ils ne se soucient pas de tous ces bugs de "geek". Et en général, la langue n'a pas l'intention de s'améliorer, à en juger par tous. Ils ne corrigent que les bogues majeurs, rien de plus.

Je suis tombée sur ce site par hasard hier et j'ai été surprise de voir à quel point, en liaison avec

template<typename T, int n>

Plusieurs dizaines de lignes de code se sont littéralement transformées en une ou deux ( !). C'est pourquoi je l'ai écrit - à première vue, cela peut sembler une bagatelle. Une fois de plus, je suis convaincu qu'il n'y a pas de non-sens en C++.

 
A100:

Je suis tombée dessus par hasard hier et j'ai été surprise de voir comment, en association avec

plusieurs dizaines de lignes de code se sont littéralement transformées en une ou deux ( !)

Vous ne pouviez pas faire ça avant
Raison: