Описание тега constant-expression

Постоянные выражения можно оценивать во время компиляции.
1 ответ

Неопределенная строковая константа в Google Map API с использованием PHP

У меня проблема с неопределенной строковой константой. вот мой код в PHP: 'html' => '<div><table><td><tr><img src="' . "http://www.simbawave.com/_lib/file/img/hotel/$FolderHotel/$NamaFile" . '"width="200" height="200" /…
04 май '13 в 10:01
1 ответ

Как я могу проверить, что выражение является константой в C?

Скажем, у меня есть сценарий, в котором мне нужно убедиться, что значение, используемое в моем коде, является константой времени компиляции (например, возможно драконовская интерпретация правила 2 P10 "фиксированные границы цикла"). Как я могу приме…
22 ноя '15 в 03:43
1 ответ

Условный оператор в выражении константы

Я попробовал следующий фрагмент кода с MSVC 10, где он работает нормально. enum { FOO = (sizeof(void*) == 8 ? 10 : 20) }; int main() { return FOO; } Что я хотел бы знать, так это: позволяет ли стандарт C++ (предпочтительно C++98) использовать условн…
1 ответ

Возврат постоянной текстовой строки для каждой строки в столбце (динамический) SQL Server 2008

Заранее спасибо за ваше время и опыт. Я использую следующий запрос SELECT wh_id, item_number FROM table_1 Чтобы получить результат таблицы, который выглядит следующим образом wh_id item_number 1 12341 2 12342 3 12343 4 12344 Мой результат должен выг…
03 апр '14 в 16:06
0 ответов

Вставить Вид в Chalderne Xamarin форм RelativeLayout

Мне нужно вставить obj-представление в массив детей childrenLayout. но проблема в том, что я не знаю, как я могу это сделать, так что это по отношению к родителю. как я делаю, когда я добавил его, как показано ниже layout.Children.Add(BoxView, Const…
1 ответ

Не может появляться в постоянном выражении

В следующей программе на C++: class matrix { public: int n; double **x; matrix(int n) : n(n) { x=new double[n][n]; for (int i=0;i<n;i++) { for(int j=0;j<n;j++) { x[i][j]=0; } } } ... Я получаю следующую ошибку: "n не может появляться в констан…
0 ответов

Ошибка компиляции Fortran PGI "константное выражение неправильного типа данных"

У меня есть большая программа, написанная на Фортране, которую я пытаюсь скомпилировать. Я получаю ошибку: PGF90-S-0091-Constant expression of wrong data type (main.f90: 476) PGF90-S-0091-Constant expression of wrong data type (main.f90: 476) PGF90-…
1 ответ

Сравнение ALAssetGroupType в операторе switch

Привет, я звоню ALAssetsLibrary's -enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:block failureBlock:failure; затем внутри блока перечисления я хочу сравнить тип возвращаемой группы и добавить его в соответствующий массив. я пытался ^( ALAsset…
1 ответ

Невозможно создать список литералов в F#

У меня есть следующие типы type StatusCode = | OK = 200 | NoContent = 204 | MovedTemp = 301 | MovedPerm = 302 | SeeOther = 303 | NotModified = 304 | NotFound = 404 | ServerError = 500 [<Literal>] let NoBodyAllowedStatusCodes = [StatusCode.NoCo…
2 ответа

Константные выражения Java и исключение кода

Как обсуждалось здесь, javac и другие компиляторы Java могут предоставлять возможности удаления кода для if- заявления, где условие является "выражением константы". Как это повлияет, если мой код использует константное выражение, которое зависит от …
1 ответ

Можно ли использовать assert в постоянных выражениях?

assertМакро от <cassert> обеспечивает краткий способ гарантировать, что условие выполнено. Если аргумент оценивается как true, это не должно иметь никаких дальнейших последствий. Однако может ли его вызов также использоваться внутри константно…
2 ответа

Создание массива с переменной

У меня есть следующий код: #include <iostream> using namespace std; int main() { unsigned int endx = 5; unsigned int endy = 5; unsigned int endz = 5; int Matrix[endx+1][endy+1][endz+1] = {}; return 0; } я получил ошибка C2057: ожидаемое постоя…
02 дек '14 в 00:45
1 ответ

Почему лямбда-выражения не допускаются в неоцененных операндах, но допускаются в неоцененных частях константных выражений?

Если мы посмотрим на проект стандартного раздела C++ 5.1.2 Пункт 2 лямбда-выражений гласит (выделение мое в дальнейшем): Оценка лямбда-выражения приводит к временному значению prvalue (12.2). Этот временный объект называется объектом закрытия. Лямбд…
06 мар '14 в 17:49
3 ответа

Получение второго аргумента (размера) std::array в качестве аргумента функции

В следующем коде мне нужно получить размер std::array в качестве аргумента функции. Я предпочел std::array в std::vector размер контейнера не должен меняться. Тем не менее, компилятор жалуется как error: ‘n’ is not a constant expression, Как я могу …
15 июл '14 в 21:32
3 ответа

C11 и оценка константного выражения в метках переключения

После этого вопроса Почему gcc не допускает использование const int в качестве выражения case?, в основном так же, как Какие продвигаемые типы используются для сравнения выражений регистра или есть ли способ использовать постоянный массив с постоянн…
1 ответ

Вызов функции, зависящей от перечисления

Вот упрощенная настройка моего приложения: class Engine { void run(); { // main program loop while (state != gameState::quit) step<state>(); // ERROR } template<gameState> void step() {} // empty default step function template<> vo…
15 апр '17 в 09:48
1 ответ

Функция `static constexpr`, вызываемая в константном выражении, является... ошибкой?

У меня есть следующий код: class MyClass { static constexpr bool foo() { return true; } void bar() noexcept(foo()) { } }; Я ожидаю, что с foo() это static constexpr функция, и так как она определена ранее bar заявлено, это было бы вполне приемлемо. …
1 ответ

Ожидаемое выражение Delphi

Я получаю сообщение об ошибке "Ожидается постоянное выражение" со следующим кодом: TBoard определяется как: TBoard = class field: array[1..5,1..5] of Integer; function check(const x, y: Integer): Integer; function addShip(x, y, size, dir: Integer): …
20 фев '16 в 13:23
2 ответа

Параметризованные тесты в F# - это недопустимое константное выражение

По какой-то причине при передаче аргументов в тест через TestCase attrubute, я получаю следующее сообщение об ошибке о первом аргументе, который в данном случае является массивом: Это недопустимое константное выражение или значение пользовательского…
0 ответов

Как реализовать метод получения времени компиляции, для более краткого вызова?

Я хочу реализовать метод получения времени компиляции таким образом, чтобы сделать его вызов более лаконичным. У меня нетип типа (unsigned int N) шаблон класса foo, который рекурсивно наследует от foo<N - 1>, каждый foo имеет свой enum член вы…