Название: constexpr Отправлено: Azazello от Август 19, 2021, 15:53 class Example {
public: static const constexpr auto BASE_DATA_DIR = "../data/"; static const constexpr auto ORIG_DATA_DIR = BASE_DATA_DIR + "images"; } Вопрос, как сложить две строки во время компиляции. invalid operands of types 'const char* const' and 'const char [7]' to binary 'operator+' Название: Re: constexpr Отправлено: kambala от Август 19, 2021, 19:11 до 20-го стандарта — разве что макросами через конкатенацию строковых литералов. либо отказаться от constexpr и хранить std::string.
Название: Re: constexpr Отправлено: m_ax от Август 19, 2021, 20:09 Цитировать до 20-го стандарта — разве что макросами через конкатенацию строковых литералов. Да.. Или как вариант:Код
Название: Re: constexpr Отправлено: _Bers от Январь 11, 2022, 14:57 Вопрос, как сложить две строки во время компиляции. никак. адреса строк - информация, которая не известна времени компиляции. времени компиляции можно использовать имена указательных объектов, но не их значения. возможно, ты имел ввиду не сложить, а склеить? тогда ответ: тоже никак. склеивать текст можно во время препроцессирования, но не во время компиляции. Название: Re: constexpr Отправлено: qtkoder777 от Январь 14, 2022, 11:48 до 20-го стандарта — разве что макросами через конкатенацию строковых литералов. либо отказаться от constexpr и хранить std::string. Препроцессорную команду ## что отменили? Нах№й тогда этот стандарт. |