Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объект класса. / 14 сообщений из 14, страница 1 из 1
23.11.2015, 14:25
    #39110997
aziker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
VS2015, Win32, (Unicode)
//_____________________________________________________________________________________________
У меня ошибка в файле xstring


const value_type *_Myptr() const
{ // determine current pointer to buffer for nonmutable string
return (this->_BUF_SIZE <= this->_Myres
? _STD addressof(*this->_Bx._Ptr)
: this->_Bx._Buf);
}


//____________________________________________________________________________________________
В программе несколько классов
один из них содержит вектор строк v:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
class First{

public:
	std::vector<std::wstring> v;
	std::vector<std::wstring>::iterator it;


//заполнение вектора через v.push_back 

      	std::wstring getV(int Index){          

 	for (it = v.begin(); it < v.end(); ++it) {
			return it[Index];
		}
}
}





Другой класс содержит объект первого класса и использует содержимое вектора:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
#include "first.h"
class Second{

First a;


//где-то в функции
//....

(LPTSTR) ( a.getV(Index).c_str() );   //синтаксических ошибок компилятор не показывает

}




Подскажите, как правильно конвертировать строку? Если в главном файле проекта (.cpp) вывод строки ( a.getV(Index).c_str()) из вектора происходит успешно. Или тут необходимо через указатели?
...
Рейтинг: 0 / 0
23.11.2015, 14:43
    #39111036
aziker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
Дело даже не в объектах класса, а в строках
...
Рейтинг: 0 / 0
24.11.2015, 07:40
    #39111616
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
aziker,

ошибки то какие? ну не телепаты же мы...
...
Рейтинг: 0 / 0
24.11.2015, 07:43
    #39111618
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
aziker,

код чуть меньше чем на 100% полный бред, так что напиши еще, что ж тебе надо то...
...
Рейтинг: 0 / 0
24.11.2015, 08:55
    #39111647
aziker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
MasterZiv,

ошибка выделена красным:


const value_type *_Myptr() const
{ // determine current pointer to buffer for nonmutable string
return (this->_BUF_SIZE <= this->_Myres
? _STD addressof(*this->_Bx._Ptr)
: this->_Bx._Buf);
}
...
Рейтинг: 0 / 0
24.11.2015, 09:01
    #39111653
aziker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
MasterZiv,

Код вполне рабочий до момента использования элементов вектора. Код не бред, потому что это маленькая часть кода. Хотела показать, что элементы вектора используются в другом классе. Проблема в строках, то есть в их неправильной конвертации. wstring to LPTSTR. Это проект win32 (use unicode).
...
Рейтинг: 0 / 0
24.11.2015, 16:47
    #39112412
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
aziker,

Я лично не понимаю в коде ничего. И с ошибкой также неясно.
Но если тебя это устраиваяет, я не против.
...
Рейтинг: 0 / 0
24.11.2015, 18:13
    #39112525
FishHook
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
Особенно понравилась глобальная переменная it
...
Рейтинг: 0 / 0
24.11.2015, 23:01
    #39112727
Alex the coder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
FishHook,

это намёк на одноимённый роман Стивена нашего Кинга.
...
Рейтинг: 0 / 0
25.11.2015, 06:15
    #39112797
aziker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
Alex the coder, FishHook , на другом форуме мне ответили и дали нормальный человеческий ответ. Может быть Вам, судари, не стоит отвечать на вопросы, на которые не можете ответить и не знаете о чем речь? Добра Вам =)
...
Рейтинг: 0 / 0
25.11.2015, 10:32
    #39112890
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
aziker,

И тебе, вовремя сдать сессию....
...
Рейтинг: 0 / 0
25.11.2015, 10:50
    #39112900
BagaBaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
Код, скажем так, некрасив. И малоподдерживаем.
Но почему у вас
azikerVS2015, Win32, (Unicode)
const value_type *_Myptr() const
{ // determine current pointer to buffer for nonmutable string
return
(this->_BUF_SIZE <= this->_Myres
?
_STD addressof( * this->_Bx._Ptr)
: this->_Bx._Buf);
}

в одном случае происходит разыменование указателя на экземпляр класса, а в другом - нет? (Как правильно - мне лень разбираться в ваших типах).
...
Рейтинг: 0 / 0
25.11.2015, 10:52
    #39112902
BagaBaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
Точнее, даже "дважды разыменование". Ведь "->" просто синтаксический сахар к "(*x)."
...
Рейтинг: 0 / 0
25.11.2015, 11:19
    #39112937
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект класса.
ребята, обсуждать этот бред бессмысленно.
топик закрываю.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объект класса. / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]