enter image description here 这导致了预期的';'在顶级声明符之后,Xcode中的错误(在构建期间)此行:void intArray :: writeToFile(< #char * filename#>)
我听说这是因为Xcode在我的程序中添加“#”,这是为什么?我怎么能删除这两个“#”?
非常感谢。
这是我的代码:
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
class intArray
{
private:
int *array;
int length;
public:
intArray(char *filename);
void sort();
~intArray();
void writeToFile(char *filename);
};
intArray::intArray(char *filename)
{
ifstream myFile(filename);
int len=300;
array=new int[len];
length=0;
while(myFile>>array[length++]);
length--;
myFile.close();
}
void intArray::sort()
{
for(int i=0;i<length;i++)
{for(int j=i;j<length;j++)
if(array[i]>array[j])
{int temp;
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
intArray::~intArray()
{
delete [] array;
}
void intArray::writeToFile(<#char *filename#>)
{
int step=0;
ofstream outFile(filename);
for(int i=0;i<length;i+=step)
{outFile<<array[i]<<endl;
step++;
}
outFile.close();
}
void main()
{
intArray myArray("in.dat");
myArray.sort();
myArray.writeToFile("out.dat");
}
答案 0 :(得分:0)
我想我终于想出了这个,它似乎是XCode如何处理其参数建议的副作用,你可以在它们之间切换(我认为它们通常是蓝色)。
如果你在XCode中复制这样的建议,它会被包围,并获得奇怪的字符“&lt;#”和“#&gt;”,并且在XCode中粘贴这些字符所包围的文本会将该文字变为蓝色。
如果您开始编写方法名称,例如writeToFile
,XCode将建议从声明中获取的参数列表(它以蓝色显示)。
然而,在您编写或接受建议之前,该文本并不真正“存在”,并且在该文本存在之前,缺少该文本将导致混淆错误。
修复应该非常简单:将光标放在蓝色参数列表中,然后按Enter接受它(或手动编写文本)。