Во-первых, я все рассмотрел для решений, и я не могу его исправить. При попытке скомпилировать исходный код возникает следующая ошибка.ошибка: идентификатор «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 (у меня есть несколько из этих ошибок только с указанием одного). Я считаю, что ошибка находится в пределах 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 ++.
добавить '#include' в начало вашего файла –
Mgetz
Кажется, что один из ваших заголовков использует 'ostream' без квалификации (' std :: ') и без подходящей декларации' using' или 'using'. Независимо от квалификации подходящий заголовок ('' или '') также может отсутствовать. –
Mgetz, Я добавил в include и ничего не изменил. Dietmar, У меня нет «использования пространства имен std» в любом из моих заголовков, но только это дает мне проблему. Также при компиляции с использованием компиляторов PGI он компилируется без проблемы – jgCallahan