Форум программистов, компьютерный форум CyberForum.ru

хитрая константа не даёт создать обычный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы и натуральные числа http://www.cyberforum.ru/cpp-beginners/thread391748.html
Помогите пожалуйста написать программу. Ввести натуральное число n. а) Записать в массив только те делители числа n, которые являются палиндромами. б) Вывести все делители числа n, у которых последняя цифра наименьшая. Заранее спасибо.
C++ Класс "Список", функция добавления элемента в конец #include <iostream> #include <cstring> using namespace std; struct myElem { char *line; myElem *next; myElem(const char* str) http://www.cyberforum.ru/cpp-beginners/thread391731.html
C++ Вывести все целые числа, расположенные между заданными
Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их убывания. Использовать цикл for. #include <stdio.h> #include <conio.h> void main() { int a,b,i; clrscr(); printf("vvedite a: "); scanf("%i",&a);
C++ Проверьте, пожалуйста, правильность составленного мной алгоритма)
Вот код: #include <iostream> #include <stdlib.h> #include <stdio.h> int main() { FILE *fp; int n, i, min, number, sum, a; char fname = "D:\\file.txt";
C++ #pragma once http://www.cyberforum.ru/cpp-beginners/thread391715.html
Можно ли считать директиву #pragma once полноценно заменой техники #ifndef MYFILE_H #define MYFILE_H ... #end if
C++ Ошибка сегментации. Здравствуйте, дорогие форумчане! Тут такое дело, есть программа, код приведен ниже, там есть некоторый массив D. После компиляции программы вместе с этим массивом, программа вылетает, выдав ошибку Без неё, программа компилируется, выполняет циклы и успешно завершает работу. Проверил отладчиком, выдало "ошибку сегментации". Увеличил размер стека, тож не помогло. Чё делать? #include... подробнее

Показать сообщение отдельно
Bers
Заблокирован
25.11.2011, 21:13  [ТС]     хитрая константа не даёт создать обычный массив
А вот этот эксперимент наглядно показывает, что компилятор делает принципиальное различие между константами времени компиляции и всеми прочими:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template<const int Size> struct Test{  int A[Size];};
 
struct T2
{
    T2():a(333){}
    const int Get() { return a;}
    int a;
};
 
int main()
{
   T2 rrrr;
   
   Test<sizeof(int)> t; //можно
  
   Test<rrrr.Get()> t1; 
 //error C2975: Size: недопустимый аргумент шаблона для "Test", 
 //требуется константное выражение времени компиляции
   return 0;
};
 
Текущее время: 08:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru