【发布时间】:2014-02-16 14:57:09
【问题描述】:
我有这个结构:
struct FileData
{
string fileName;
int filePath;
string fileSize;
string fileHash;
public:
FileData (string name, int path, string size, string hash) :
fileName(name), filePath(path),fileSize(size),fileHash(hash) {}
};
当我尝试像这样初始化它时:
string name = dir[i].substr(delimiter+1);
string path = dir[i].substr(0, delimiter);
int size = FileSizeInBytes(dir[i]);
string hash = "";
FileData *sample = new FileData (name,path,size,hash);
弹出如下错误信息:No instance of constructor "FileData::FileData" 与参数列表匹配;参数类型有:(std::string, std::string, int, std::string)
备注:我已经包含了字符串标题(由于某种原因,由 包围的单词字符串没有出现在问题中)并且我有“使用命名空间 std;”在代码的顶部。我尝试将其删除并在每个字符串之前手动添加 std:: ,但仍然无效。此外,我在创建结构对象之前尝试分配给变量的值是完全有效的字符串。我也试过写
string name = "something";
但它仍然没有工作。任何帮助将不胜感激。
【问题讨论】: