Консультация № 143659
11.09.2008, 17:56
0.00 руб.
0 5 0
Здравствуйте эксперты.
Обьясните, почему вот так работает:
Код:
 
void main()
{
struct bb{string a;};
}


а вот внутри класса, та же самая структура вызывает ошибку компиллятора:
Код:
 class st
{
public:
struct bb{string a;};
};

Ошибка происходит только когда задаешь тип string.

Обсуждение

давно
Академик
20764
1861
11.09.2008, 18:04
общий
Возможно, проблемы у вашего компилятора. Или вы объект string внутри класса определили. Скажите ему
struct bb{::string a;};
- может проглотит.
Неизвестный
11.09.2008, 18:13
общий
Компиллятор MS Visual C++ 2005,
а ошибка "error C4430: missing type specifier - int assumed. Note: C++ does not support default-int"

Обьект string внутри класса не определял, пробую на том же самом классе, который в вопросе, состоящем из одной только структуры..

struct bb{::string a;}; -тоже не проходит, так кроме предыдущей ошибки ещё и пишет "error C2039: 'string' : is not a member of '`global namespace''
давно
Академик
20764
1861
11.09.2008, 18:24
общий
тогда std::string - он (класс) теперь там
Неизвестный
11.09.2008, 18:32
общий
Да, std::string заработало! Спасибо!
давно
Мастер-Эксперт
5157
1914
11.09.2008, 19:09
общий
----------------------------------------------------
А какой компилятор и какая ошибка? В mingw 3.4.2 все прекрасно компилируется.
Ответил: Provisor, 1-ый класс
Дата отправки: 11.09.2008, 17:38
----------------------------------------------------
Об авторе:
Детям в интернет нельзя, интернет от них тупеет
Форма ответа