Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Проблемы со string


Автор: FTTA 21.3.2013, 20:32
Доброго в ремени суток.

Прошу помощи.

Проблема такова. Есть некий код
Код

#include<string.h>
void NameFunction()
    {
    string str__value ;
    .
    . 
    . 
    }


Когда я этот код сохраняю в файле  *.cpp выдает ошыбку "Undefined symbol string", и соответственно все св'язаное с типом string тоже вызывает ошибки. Но когда я сохраняю этот код в файле *.h и подключаю к основной программе, нет никаких ошыбок.
Почему так?
Использую C++ Builder 2009.

Благодарю всех за потраченое на меня время.

Автор: artsb 21.3.2013, 21:12
Вы про пространства имён слышали?
Код

#include <string>

void NameFunction()
{
    std::string str__value;
    // ...
}

Автор: azesmcar 21.3.2013, 21:59
Цитата(FTTA @  21.3.2013,  20:32 Найти цитируемый пост)
#include<string.h>

Ошибка №1. Не <string.h> а <string>.
string.h - это из другой оперы и вообще в C++ он зовется http://www.cplusplus.com/reference/cstring/

Цитата(FTTA @  21.3.2013,  20:32 Найти цитируемый пост)
string 

Ошибка №2. Класс string находится в пространстве имен std

Цитата(FTTA @  21.3.2013,  20:32 Найти цитируемый пост)
str__value

Ошибка №3. Здесь это скорее всего не повлияет, но тем не менее использовать двойное подчеркивание в названиях функций, классов и переменных нельзя. Подобные имена зарезервированы для компилятора.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)