Получить значимые сообщения об ошибках в постоянной функции [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Получить значимые сообщения об ошибках в постоянной функции [закрыто]

Сообщение Anonymous »

В следующем коде у меня есть многочисленные тесты в функции test_all .
Когда тест не сработает, я получаю эту ошибку компилятора: вызов для постоянной функции ‘test_all ()’ не является постоянным выражением
Вы можете помочь мне найти способ печати, какой конкретный тест не удался?#include
struct Buffer {
int size;
int* data;

constexpr Buffer(int n) : size(n), data(new int[n])
{
for (int i = 0; i < n; ++i) data = i;
}

constexpr ~Buffer() { delete[] data; }

constexpr int get(int i) const { return data; }
};

consteval void test_all() {
Buffer b1(5);
assert(b1.get(3) == 3);
if (b1.get(3) != 30) throw 3; // Test should fail

Buffer b2(10);
assert(b1.get(3) == -1234); // Test should fail

// ...
}

int main() {
test_all();
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... l-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»