std::string get_path( void ) { return m_devicePath; }
调试输出:
hid_device.h(37(:错误 C2664:>'std::basic_string<_Elem,_Traits,_Ax>::basic_string(std::basic_string<_Elem,_Traits,_Ax>::>_Has_debug_it(' :无法将参数 1 从"无符号长整型"转换为>"std::basic_string<_Elem,_Traits,_Ax>::_Has_debug_it" 跟 [ _Elem=字符, _Traits=std::char_traits, _Ax=标准::分配器 ] 结构体 'std::basic_string<_Elem,_Traits,_Ax>::_Has_debug_it' 的构造函数声明为"显式" 跟 [ _Elem=字符, _Traits=std::char_traits, _Ax=标准::分配器 ]
- 选项 1:
错误的包括。您应该在文件顶部有#include <string>
,而不是#include <string.h>
或任何其他变体。
- 选项 2:
m_devicePath
是unsigned long
(怀疑(,不能直接转换为std::string
。
使用std::to_string()
(C++11(:
std::string get_path( void ) { return std::to_string(m_devicePath); }
或stringstream
(C++03( 将unsigned long
转换为std::string
:
std::string get_path( void ) {
std::stringstream ss;
ss << m_devicePath;
return ss.str();
}