Учитывая приведенный ниже файл A.h (обратите внимание, что я намеренно не включил заголовок <iostream> в этот файл). Затем текстовый редактор VS2010 показывает красную линию под std, так как не распознает это имя.
class A
{
public;
A() throw(std::bad_alloc);
};
Но если я включу заголовок <iostream> в файл A.cpp, как показано ниже, красная строка исчезнет в файле A.h, даже когда A.cpp закрыт. Как это возможно ?
#include <iostream>
#include "A.h"
A::A() { throw std::bad_alloc(); }