我正在尝试创建一个字符串数组来保存由void函数生成的字符串。关于我是否或如何做到这一点,我感到非常困惑。下面的代码给出了一个关于“没有合适的构造函数”的错误。
getWords("theFile.dat"); // Function to extract list of strings from file
string wordsList[] = {getWords("theFile.dat")}; // Add strings from function to array
答案 0 :(得分:3)
如果(正如您的评论所述)代码使用cout
来打印字符串,那么您无法捕获它们并将它们放入数组中。嗯,好吧,你可能能够通过做一些主要/丑陋的黑客来抓住stdout文件描述符并读取写入它的内容,但那只会是文字丑陋(和最有可能需要不同的平台特定实现)。只是不去那里。
编写您自己的好函数来读取文件并返回您需要的内容或修复您已经给出的垃圾函数。
在修复或重新实施/重新分解它之前,必须添加以解决破坏的垃圾代码需要添加多少crud(带有引入更多垃圾/错误的风险)的限制。