Aufrufen der Funktion "GetTickCount()" nicht möglich
-
Hallo Leute,
ich benutze BCB 5.0 Pro, unter WinXP und
möchte die Funktion GetTickCount() aufrufen//--------------------------------------------------------------------------- #include <FileCtrl.hpp> #include <fstream.h> #include <iostream> #include <vcl.h> #pragma hdrstop #include "Test_Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "IdBaseComponent" #pragma link "IdComponent" #pragma link "IdMessage" #pragma link "IdMessageClient" #pragma link "IdSMTP" #pragma link "IdTCPClient" #pragma link "IdTCPConnection" #pragma resource "*.dfm" TForm1 *Form1; #include <iostream.h> using namespace std;
bekomme aber die Fehlermeldung:
[C++ Fehler] Test_Unit1.cpp(7564): E2015 Mehrdeutigkeit zwischen '_fastcall Idglobal::GetTickCount()' und '__stdcall GetTickCount()'
Weiss vielleicht jemand woran das liegen könnte?
-
sonic_1233 schrieb:
bekomme aber die Fehlermeldung:
[C++ Fehler] Test_Unit1.cpp(7564): E2015 Mehrdeutigkeit zwischen '_fastcall Idglobal::GetTickCount()' und '__stdcall GetTickCount()'
Weiss vielleicht jemand woran das liegen könnte?
Das liegt daran das Borland/Codegear unfähig ist wenn es um Namensräume geht. Grundsätzlich machen sie immer ein "using namespace" am Ende der Komponenten, was dazu führt das der Nutzen von Namensräumen ausgehebelt wird.
Es gibt eine Globale GetTickCount-Funktion, sowie eine im Namensraum Idglobal. Umgehen kannst du den Fehler, in dem du explizit die Funktion betimmst:
::GetTickCount() für die globale, Idglobal::GetTickCount() für die im Namensraum.
-
Funktioniert.
Vielen Dank.