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

Не получается глобально... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужна помощь с циклами http://www.cyberforum.ru/cpp-beginners/thread382839.html
Помогите, пожалуйста, нету никаких идей. Пользователь вводит число. Показать сколько в данном числе чисел и сумму этих чисел. Нужно решить с помощью любых циклов, без массивов и прочего.
C++ Исправить ошибки в коде Возникла проблема при написании программы. Выдаются ошибки которых нет на самом деле. помогите, пожалуста. код Parcer::Parcer() { } ошибка Error 3 error C2533: 'Parcer::{ctor}' : constructors not allowed a return type c:\users\1\desktop\c++\laba_parcer_ll(1)alg\laba_parcer_ll(1)alg\parcer.cpp 5 1 laba_parcer_LL(1)alg код #include <iostream> #include "Parcer.h" http://www.cyberforum.ru/cpp-beginners/thread382822.html
Помогите решить задачу по структурам в С++ C++
Вот задача: Дані відомості про 14 кубиків: довжина ребра в сантиметрах, його колір і матеріал (дерев'яний, металевий, пластмасовий). Знайти кількість дерев'яних кубиків з ребром 3 см. і кількість металевих кубиків з ребром, більшим за п'ять сантиметрів. Буду очень признателен:)
C++ Шифрование «методом бутерброда»
Секретное агентство «Super-Secret-no» решило для шифрования переписки своих сотрудников использовать «метод бутерброда». Сначала буквы слова нумеруются в таком порядке: первая буква получает номер 1, последняя буква - номер 2, вторая – номер 3, предпоследняя – номер 4, потом третья … и так для всех букв. Затем все буквы записываются в шифр в порядке своих номеров. В конец зашифрованного слова...
C++ Календарь http://www.cyberforum.ru/cpp-beginners/thread382804.html
В календаре древнего племени Яйам «счастливыми» считаются такие номера годов, в записи которых встречаются только цифры 0 или 5. Необходимо для заданного целого неотрицательного числа k определить k-й номер «счастливого» года. Летоисчисление в календаре Яйам начинается с 1. Формат входных данных (input.txt) Во входном потоке содержится единственное число k (0 < k <= 100000). Формат...
C++ апроблемы с заполнением массива помогите! задача была с использованием функции: "Удвоение значений тех элементов матрицы, у которых сумма номеров строки и столбца четная.". вобщем не знаю как заполнить массив в данном случае: #include <stdio.h> #include <iostream.h> #include <conio.h> void array(int ** Arr, int a, int b) { for (int i=0; i<a; i++) подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.11.2011, 13:35     Не получается глобально...
В общем тут сложно объяснить, но суть в том, что инициализация глобальных переменных должна быть в той же строке, что и объявление. Например:
C++
1
2
3
//global scope
int i;
i=5;
привет к такой же ошибки, как у тебя.
а так:
C++
1
2
//global scope 
int i = 5;
будет правильно.
Если в двух словах, то компилятор делает отдельную функцию для инициализации глобальных переменных. Сначала он видит строку
C++
1
const char* fileName[32][256];
и видит, что массиву не присвено ни каких значений, поэтому он создает код для заполнения массива нулями (глобальные переменные инициализируются нулями по умолчанию). Потом видит строку:
C++
1
fileName[32][0] = "data.bin";
и тут у него случается когнитивный диссонас, он думает :"какого хера, я же только что создал функцию для заполнения этого массива нулями, что тут делает эта строка?" И ругается на нее!

Добавлено через 6 минут
Вот статья не по теме, но там есть небольшое объяснение этого момента.
 
Текущее время: 01:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru