Erreurs, bugs, questions - page 1814

 
fxsaber:

La logique du résultat est cependant visible. Même float->double est explicable. Je tronquerais encore plus le nombre de types de sortie. En ce sens, ENUM_DATATYPE semble trop large.

Je ne vois aucune logique à décrire explicitement l'énumérateur ENUM_DATATYPE dans la documentation et chaque membre a son propre numéro. Je ne vois pas non plus de logique à regarder la taille en octets des types float et double.
 
Alexey Kozitsyn:
Je ne vois pas la logique quand la documentation décrit explicitement l'énumérateur ENUM_DATATYPE et que chaque membre a son propre numéro. Je ne vois pas non plus la logique de regarder la taille en octets des types float et double.
Eh bien, je ne laisserais que les types entiers (int) et "réels" (double) - des nombres.
 
fxsaber:
Eh bien, je ne laisserais que les types int et double - des nombres.
L'exemple le plus simple : selon votre logique, une variable est de type int. Vous créez une variable de ce type. Vous voulez écrire valeur = 2 ici. Mais en fait le type était bool. Que faire alors ?
 
Alexey Kozitsyn:
L'exemple le plus simple : Vous avez obtenu une variable de type int par votre logique. Vous créez une variable de ce type. Vous voulez écrire valeur = 2 ici. Mais la valeur est en fait un bool. Que faire alors ?
void f( bool ) {}

void OnStart()
{
  f(2);
}
 
fxsaber:
void f( bool ) {}

void OnStart()
{
  f(2);
}
Bien, mais vous allez travailler avec une valeur de 1. Il y aura beaucoup d'erreurs difficiles à trouver.
 
Alexey Kozitsyn:
Bien, mais vous allez travailler avec une valeur de 1. Il y aura beaucoup d'erreurs difficiles à trouver.
Il n'y aura pas d'erreurs. Tu ne peux même pas les inventer.
 
fxsaber:
Il n'y aura pas d'erreurs. Tu ne peux même pas les inventer.
Ce n'est pas parce que tu ne peux pas faire quelque chose que ça ne peut pas être. Attendons la réponse de la SD.
 
Alexey Kozitsyn:
Ce n'est pas parce que tu ne peux pas faire quelque chose que ça ne peut pas être. Attendons la réponse de la SD.
Les développeurs ont leur propre point de vue. Il n'est pas vraiment possible de trouver une situation erronée dans la variante int&double.
 
Erreur de désinitialisation ! Demande#1677278 !
 
Erreur de compilation
template<typename T>
class A { public:
    A( const T * ) {} //Error: 'T' - unexpected token
};
class B {};
void OnStart()
{
    A<const B> a( new B );
}