【发布时间】:2017-03-10 21:15:05
【问题描述】:
我正在尝试创建一个写入文件的函数,但在将字符串作为参数传递时遇到问题。
void writeFile(string filename, string letters, int size)
{
ofstream outputfile("output.txt");
outputfile << letters;
outputfile.close();
}
int main()
{
string letters[] = {"u", "l", "s", "n","m", "z", "a", "p", "b"};
int size = 9;
string filename = "Inputfile.txt";
writeFile(inputfilename.c_str(),letters,size);
}
并出现此错误。
error: could not convert from 'std::string* {aka std::basic_string<char>*}' to 'std::string {aka std::basic_string<char>}'|
【问题讨论】:
-
unsortedValues是什么? -
变量
unsortedValues在哪里?该错误表明它是string*而不是string。 -
应该是
letters而不是unsortedValues? -
当
filename参数应该是std::string,而不是C 字符串时,你为什么要使用inputfilename.c_str()? -
@SaltyCode
writeFile()只想要一个字符串写入文件,但你给它一个数组。错误信息非常清楚。
标签: c++ pointers parameter-passing writefile c-str