Tôi hy vọng ai đó có thể giúp tôi về vấn đề nhỏ này khi tôi không nhận được bất kỳ nơi nào cả. Trước tiên, cô ấy có mã:Không thể sử dụng cout/endl khi 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;
}
Nó sẽ không cho phép tôi sử dụng công cụ tiêu chuẩn (tức là cout, cin, endl, v.v.). Nó sẽ chỉ cho phép tôi sử dụng nó khi tôi đưa ra tất cả các mã "C" bên ngoài ... Tại sao vậy? Và có cách nào để giải quyết vấn đề này không?
EDIT: Xin lỗi, quên nói với bạn những lỗi chính xác: Nó nói định danh "cout" là undefined
Cảm ơn
tôi sẽ không sử dụng std toàn cầu anyway. Bạn có thể di chuyển không gian tên bằng cách sử dụng std; bên trong chính. – ervinbosenbacher
Mục đích 'extern' C ''phục vụ ở đây là gì? –
Vì cout không phải là từ khóa C mà là một cá thể đơn lẻ C++. Bạn không thể truy cập các đối tượng C++ từ mã C thuần túy (mặc dù nó có thể theo cách khác). –