首先,我已經查找了解決方案,我似乎無法修復它。當試圖編譯源代碼時,我得到以下錯誤。錯誤:未定義標識符「ostream」
g++ -c -I/home/jcallahan/ACM/include/FANSI -I/home/jcallahan/ACM/FourtyTwo/Base -I/home/jcallahan/ACM/FourtyTwo/FunctionSpaces -I/home/jcallahan/ACM/FourtyTwo/MeshLib LagrangeFunctions.cpp In file included from /home/jcallahan/ACM/include/FANSI/MatrixVector.h:6:0, from LagrangeFunctions.cpp:17: /home/jcallahan/ACM/include/FANSI/Matrix.h:184:24: error: ‘ostream’ has not been declared void WriteToTextFile(ostream &) ;
該錯誤是從包括Matrix.h和Vector.h未來(I有更多的這些錯誤只示出一個)。我相信錯誤在Matrix.h/Vector.h。代碼被切斷了,因爲我不認爲類成員函數與它有任何關係。
#include "AbstractMatrix.h"
class Matrix : public AbstractMatrix
{
friend std::ostream &operator<<(std::ostream &,const Matrix &) ;
friend std::istream &operator>>(std::istream &, Matrix &) ;
public:
任何人都有任何線索怎麼回事或我該如何解決它?有關其他信息,我正在使用g ++編譯器。
加上'#包括'到您的文件 –
Mgetz
的頂部看來你的頭一個使用'ostream'無資質('的std ::'),並沒有合適的'using'聲明或'using'指令。與資格無關,合適的標題(''或'')也可能會丟失。 –
Mgetz, 我加入了include,它沒有改變任何東西。 Dietmar, 我沒有在任何頭文件中使用「命名空間標準」,但只有這一個給我一個問題。當編譯使用PGI編譯器時,它編譯時沒有問題 – jgCallahan