使用Xcode编译C ++程序时发生错误

时间:2016-08-14 09:25:21

标签: c++ xcode

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");
}

1 个答案:

答案 0 :(得分:0)

我想我终于想出了这个,它似乎是XCode如何处理其参数建议的副作用,你可以在它们之间切换(我认为它们通常是蓝色)。

如果你在XCode中复制这样的建议,它会被包围,并获得奇怪的字符“&lt;#”和“#&gt;”,并且在XCode中粘贴这些字符所包围的文本会将该文字变为蓝色。

如果您开始编写方法名称,例如writeToFile,XCode将建议从声明中获取的参数列表(它以蓝色显示)。
然而,在您编写或接受建议之前,该文本并不真正“存在”,并且在该文本存在之前,缺少该文本将导致混淆错误。

修复应该非常简单:将光标放在蓝色参数列表中,然后按Enter接受它(或手动编写文本)。