Ich hoffe, jemand kann mir bei diesem kleinen Problem helfen, da ich nirgendwo hin komme. Erstens her der Code:cout/endl kann nicht verwendet werden, wenn extern "C"
#include<string>
#include<iostream>
#include<Windows.h>
using namespace std;
extern "C"
{
#include<hidsdi.h>
#include<SetupAPI.h>
}
int main()
{
int iQuit;
cout << "Testing Program" << endl;
return 0;
}
Es wird mich nicht die std Sachen verwenden lassen (dh cout, cin, endl usw.). Es erlaubt mir nur, es zu benutzen, wenn ich den ganzen externen "C" -Code herausnehme ... Warum ist das? Und gibt es einen Weg dahin?
EDIT: Sorry, vergessen Sie den genauen Fehler zu sagen: Es sagt identifier „cout“
undefiniert istDank
Ich würde global ohnehin nicht std. Sie könnten den using namespace std; innerhalb der Hauptleitung. – ervinbosenbacher
Welchen Zweck erfüllt 'extern' C 'hier? –
Da cout kein C-Schlüsselwort ist, sondern eine C++ - Singleton-Instanz. Sie können nicht auf C++ - Objekte aus reinem C-Code zugreifen (obwohl es umgekehrt möglich ist). –