У меня есть следующий бит устаревшего кода C ++, который не компилируется:
#include <stdio.h>
#include <iostream>
extern ostream *debug;
GCC (g ++) жалуется: «ожидаемый инициализатор до токена‘ * ’»
Оглядываясь вокруг, кажется более распространенным объявлять их как внешние ссылки, например:
extern ostream& debug;
Почему указатель недействителен, но в этой ситуации есть ссылка?
РЕШЕНИЕ:
Настоящая проблема, как упоминалось ниже, заключается в том, что отсутствует спецификатор std :: namespace. По-видимому, это было распространено в старом коде C ++.