我正在尝试在FTDI
芯片上创建文件,以便可以写入和输出数据。我从手册中得知,要创建文件,需要编写以下代码行:
ftHandleFile = FT_W32_CreateFile((PVOID)LocId, GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
但是,出现以下错误
错误1错误C2664:“ FT_HANDLE
FT_W32_CreateFile(LPCTSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE)'
:无法将参数1从“ PVOID”转换为
'LPCTSTR'c:\ users \ caristid \ documents \ visual studio
2013 \ projects \ ftd2xx \ ftd2xx \ ftd2xx.cpp 100 1 ftd2xx
IntelliSense:“ PVOID”类型的参数与“ LPCTSTR”类型的参数不兼容c:\ Users \ caristid \ Documents \ Visual Studio 2013 \ Projects \ ftd2xx \ ftd2xx \ ftd2xx.cpp 100 35 ftd2xx
我认为这些是通用错误,只需使用正确的变量即可解决。
有人知道怎么做吗?
最佳答案
编译器期望第一个参数的类型为LPCTSTR
,它是“指向Const TCHAR STRing的长指针”。
通过将LocId
强制转换为PVOID
,您将传入void*
作为第一个参数。
如果LocId
已经是字符串,则删除演员表;否则,找到要传递给函数的字符串。
关于c++ - “PVOID”与“LPCTSTR”类型的参数不兼容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31432135/