Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему функция не вазращает значения ? / 2 сообщений из 2, страница 1 из 1
28.01.2014, 11:04
    #38540151
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему функция не вазращает значения ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
LPWSTR GetSystemDrive()
{
	WCHAR buffer[ MAX_PATH ];

	GetSystemDirectory( buffer, MAX_PATH );

	wcsncpy_s( buffer, buffer, 3 );

	return buffer;
}

void main()
{

	wcout<<GetSystemDrive();

	cin.get();
}
...
Рейтинг: 0 / 0
28.01.2014, 11:40
    #38540239
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему функция не вазращает значения ?
gera3323,

потому что она возвращает указатель на локальный массив, который уничтожается уже при выходе из функции.

в с такой код вообще невозможно написать, нужно либо выделять память, либо писать во внешний по отношению к функции буфер.
в с ++ нужно возвращать по значению объект string.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему функция не вазращает значения ? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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