【发布时间】:2017-08-02 11:51:48
【问题描述】:
在构造函数中:
CSVBMFBlockModelReader(const wchar_t * const FileNameWithPath, char Delimiter)
{
_FileNameWithPath = FileNameWithPath;
_Delimiter = Delimiter;
}
Intellisense 然后报告 {npos=18446744073709551615 } 并且即时窗口报告了类似的内容:
{npos=18446744073709551615 } (错误):0 (错误):0
我做错了什么还是这只是智能感知?代码按预期工作,_FileNameWithPath.data() 返回正确的结果。编译器不会发出任何警告。本地私有声明是:
private:
std::wstring _FileNameWithPath;
char _Delimiter;
我必须声明我在从 c# 启动代码后正在调试代码。我正在使用 VS 2015 企业版。
请注意,我知道 0XFFFFFFFFFFFFFFFF 是相同的值。我的兴趣是为什么智能感知向我显示这个值。
【问题讨论】:
-
你是如何从 C# 启动它的?
-
什么是
npos? -
@Tanveer Badar [DllImport(DLLName, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, EntryPoint = "ReadVulcanCSVFileHeader")] public static extern void ReadVulcanCSVFileHeader([In] string FileNameWithPath, ref uint FieldCount , 反馈反馈, ref int ErrorCode);
-
18446744073709551615 是 0xFFFFFFFFFFFFFFFF,它被 -1 解释为无符号整数。这听起来像是类型不匹配或未初始化的值。但是,您显示的代码似乎与您报告的错误无关,所以这个问题并不完全可以回答。
-
@JonathonReinhart 我希望有人能够确认他们也有同样的经历并得出结论这不是问题。
标签: c++