powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / не работает _FUNCTION_
4 сообщений из 4, страница 1 из 1
не работает _FUNCTION_
    #39315070
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,
Проблема с примером из Айвора Хортона.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
// Name.срр - реализация класса Name
#define _CRT_SECURE_NO_WARNINGS
#include "Name.h" // Определение класса Name
#include "DebugStuff.h" // Управление отладочным кодом
#include <cstring> // Для строковых функций в стиле С
#include <cassert> // Для утверждений
#include <iostream>

using namespace std;
// Стандартный конструктор
Name::Name()
{
#ifdef CONSTRUCTOR_TRACE
	// Трассировка вызовов конструктора
	cerr << "\nВызван стандартный конструктор Name.";
	
#endif
		pFirstname = pSurname = "\0";
}
// Конструктор
Name::Name(const char* pFirst, const char* pSecond) //:pFirstname(pFirst), pSurname(pSecond)
{
	// Проверить, что аргументы не равны null
	assert(pFirst != 0);
	assert(pSecond != 0);
#ifdef CONSTRUCTOR_TRACE
	// Трассировка вызовов конструктора
	cerr << "\nВызван конструктор Name.";
#endif
	pFirstname = new char[strlen(pFirst) + 1];
	strcpy(pFirstname, pFirst);
	pSurname = new char[strlen(pSecond) + 1];
	strcpy(pSurname, pSecond);
}
// Возвращает полное имя в виде строки, включающей имя, пробел, фамилию.
// Аргумент должен быть адресом символьного массива, достаточного,
// чтобы вместить полное имя
char* Name::getName(char* pName) const
{
	assert(pName); // Проверка аргумента на равенство null
	
#ifdef FUNCTION_TRACE
		// Трассировка вызова функции
	cout << '\n' << _FUNCTION_ << " вызвана.";
#endif
	strcpy(pName, pFirstname); // Копировать имя
	pName[strlen(pName)] = ' '; // Добавить пробел
	// Добавить фамилию и вернуть результат
	return strcpy(pName + strlen(pName) + 1, pSurname);
}
// Возвращает общую длину имени
size_t Name::getNameLength() const
{
#ifdef FUNCTION_TRACE
	// Трассировка вызова функции
	cout << '\n' << _FUNCTION_ << " вызвана.";
#endif
	return strlen(pFirstname) + strlen(pSurname);
}



ошибка:
Код: plaintext
1.
IntelliSense: identifier "_FUNCTION_" is undefined



Исходя из MSDN

никаких дополнительных директив для макроса не требуется.
В чём может быть проблема?
Помогите пожалуйста.
...
Рейтинг: 0 / 0
не работает _FUNCTION_
    #39315071
saley
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, разобрался, перед FUNCTION должно быть два знака _ , а в примере один.
...
Рейтинг: 0 / 0
не работает _FUNCTION_
    #39316573
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обратите также внимание на
http://stackoverflow.com/questions/597078/file-line-and-function-usage-in-c
...
Рейтинг: 0 / 0
не работает _FUNCTION_
    #39325340
Фотография ponuch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простите, а зачем весь этот кошмар в стиле си ? в плюсах же есть более менее человеческий string
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / не работает _FUNCTION_
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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