Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2012, 18:38   #1
Kaela
Пользователь
 
Регистрация: 29.04.2012
Сообщений: 36
По умолчанию std::string

всем привет
пишу файл shape.h

Код:
Код:
#pragma once
class Shape
{
protected:
    std::string name;
public:
	virtual void printShape(Shape*) = 0;
	Shape(void);
        Shape(std::string);
	~Shape(void);
};
в shape.cpp реализация

Код:
Код:
#include "StdAfx.h"
#include "Shape.h"

Shape::Shape(void)
{
}

Shape::Shape(std::string *name)
{
    name = new std::string[20];
}

Shape::~Shape(void)
{
    delete name;
}
компилятор почему-то считает, что std это не пространство имён
пробовал писать using namespace std;
это тоже не помогает
возможно, кто-нибудь знает, как решить эту проблему
заранее спасибо
Kaela вне форума Ответить с цитированием
Старый 22.10.2012, 18:59   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а инклюд на стринг где?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.10.2012, 18:59   #3
wowhow
Пользователь
 
Регистрация: 21.10.2012
Сообщений: 13
По умолчанию

Цитата:
компилятор почему-то считает, что std это не пространство имён
а ты бы копипастом и вставил то что написал компилятор а не пересказывал.
и где у тебя #include <string> ?
wowhow вне форума Ответить с цитированием
Старый 22.10.2012, 19:35   #4
Kaela
Пользователь
 
Регистрация: 29.04.2012
Сообщений: 36
По умолчанию

Пепел Феникса, wowhow

у меня он прописан в файле ShapeLab.cpp

я нашёл решение проблемы
подключаю сверху #include <iostream>
а потом либо дописать using namespace std;
либо писать std::string и т.д.

может оно и корявое, конечно.

за вопросыответы спасибо
Kaela вне форума Ответить с цитированием
Старый 22.10.2012, 19:40   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в вашем коде не вижу этого.

в хидере должны быть подкдючения нужного для обьявления.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
10 студия std::stringstream и str::string Kukurudza Общие вопросы C/C++ 0 14.03.2012 21:25
Отличие CString от std::string Lindemann66 Общие вопросы C/C++ 5 28.07.2011 12:59
ошибка: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char> Critter Общие вопросы C/C++ 5 08.08.2010 23:38
std::string RoS Общие вопросы C/C++ 6 23.01.2010 21:21
функция для подсчета количества символов в строке типа std::string a Артэс Общие вопросы C/C++ 3 06.07.2009 17:43