Fehler, Irrtümer, Fragen - Seite 2877

 
fxsaber:
Woher weiß ich in ME, in welcher Funktion/Methode sich der Cursor gerade befindet?

Manchmal scrolle ich auch im Code nach oben/unten und suche dann die Stelle, an der ich den Cursor bearbeitet habe.

Wenn ich bearbeitet, benutze ich Strg + Z (Rollback der Änderungen) ME geht auf den Cursor und sofort Strg + Y (Rollback der Änderungen)

 
Igor Makanu:

Manchmal scrolle ich auch im Code nach oben/unten und suche dann die Stelle, an der ich den Cursor bearbeitet habe.

Wenn ich etwas bearbeitet habe, benutze ich Strg + Z (die Änderungen zurücknehmen) ME geht zum Cursor und sofort Strg + Y (die Änderungen zurücknehmen)

Ähnlich! Auch ALT + LINKS/RECHTS. Sie müssen jedoch noch den Funktionsnamen ermitteln. Oder gehen Sie zu seiner Definition.

 
Was ist der Unterschied zwischen diesen Flaggen?
FileSelectDialog(NULL, NULL, NULL, FSD_WRITE_FILE, FileNames, NULL);
FileSelectDialog(NULL, NULL, NULL, 0, FileNames, NULL);
 
Wieder das Problem mit den privaten Nachrichten...
 
Vladimir Pastushak:
Wieder das Problem mit den privaten Nachrichten...

Geben Sie in das Suchfeld den Namen der Person ein, die Ihnen geschrieben hat. Dann wird sich alles wieder normalisieren. Ich habe es heute erst überprüft.

 
Chats werden derzeit aktualisiert, entschuldigen Sie die vorübergehenden Unannehmlichkeiten
 
typedef datetime (*TIME)( void ); 

datetime Func() { return(0); }

TIME T = TimeCurrent;  // Error.
TIME T2 = Func;        // OK.


War es schon immer so, dass man keine Verweise auf Personalfunktionen machen kann?

 
Ist es richtig, dass es keinen Fehler gibt?
void OnStart()
{
  for (int i = 0; i < 5; i++) // OK
}
 
fxsaber:

War es schon immer so, dass Sie keine Hinweise auf Personalfunktionen geben konnten?

Ja, das war schon immer unmöglich.

fxsaber:
Ist es richtig, dass es keinen Fehler gibt?

Dies ist zumindest ein Versehen, da die folgenden Einträge gleichwertig sind

void f1() { for  (; false ;) } //нормально ???
void f2() { while(  false  ) } //Error: '}' - semicolon expected

Dementsprechend muss das Verhalten des Compilers identisch sein, was anders ist

 

Sie müssen 1 uint von 2 ushort erhalten

es gibt 2 Optionen( gelb/grün):

input ushort inA = USHORT_MAX;
input ushort inB = USHORT_MAX;
input ushort inC = USHORT_MAX;
input ushort inD = USHORT_MAX;
uint param1 = (uint)inA << (sizeof(ushort) * 8) | inB;
uint param2 = (uint)inC << (sizeof(ushort) * 8) | inD;
union ushortTouint
{
   uint param[2];
   ushort in[4];
};
ushortTouint param_arr;
//+------------------------------------------------------------------+
void OnStart()
{
   printf("ver 1:  %X , %X", param1, param2);
   param_arr.in[0] = inA;
   param_arr.in[1] = inB;
   param_arr.in[2] = inC;
   param_arr.in[3] = inD;
   printf("ver 2:  %X , %X", param_arr.param[0], param_arr.param[1]);
}
//+------------------------------------------------------------------+

Woher wissen Sie, welche Umwandlungsvariante bei der Optimierung schneller funktionieren würde (ich werde 10 uint bzw. 20 ushort verwenden)?