Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Андрей Кузалекс
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 6
#1

Вопросы по книге С. Бобровского "Самоучитель программирования на языке С++" - C++

21.04.2012, 18:41. Просмотров 1008. Ответов 9
Метки нет (Все метки)

В книге С. Бобровского "Самоучитель программирования на языке С++", написание кодов небольших программ и объяснения для чего все написано.
Во втором примере создание программы "Игра в кости" создается файл Text.h который подключается ко листу программы и содержит в себе константы текстовых переменных типа AnsiString:

const AnsiString LAST_DICE_STR = "Последний бросок был ";


Компилятор C++Builder 6. выдает ошибки.

[C++ Error] Text.h(4): E2304 Constant variable 'AnsiString' must be initialized
1) вопрос. Константная переменная 'AnsiString' должна быть инициализирована. Что значит инициализирована? Заглавными буквами?

[C++ Error] Text.h(4): E2141 Declaration syntax error
2) вопрос. Ошибочное расположение синтаксиса. Что это?

[C++ Error] Text.h(4): E2344 Earlier declaration of 'AnsiString'
3) Вопрос. Раннее объявлена 'AnsiString'. Где её объявлять?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2012, 18:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопросы по книге С. Бобровского "Самоучитель программирования на языке С++" (C++):

Программа "Комплексные числа" на языке программирования С++ - C++
Пожалуйста помогите!!! Программа "Комплексные числа" на языке программирования С++. Исходные данные. Написать программу с базовым...

В чем разница между "Порядок выполнения программ на языке C" и "Структура программы на языке C" - C++
в конспектах у себя не нашел, хоть и записывал все, что объяснял преподаватель. вот, собственно, сам вопрос: Структура программы на...

Обучение по книге Страуструпа "принципы и практика C++". Не выводится "Hello, World" - C++
Ребят, помогите пожалуйста, пропал на первом же примере из книги, автор даёт код для вывода Hello world!#include "std_lib_facilities.h" ...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL" - C++
visual studio выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено...

Работа с массивами по Крупник "Самоучитель С++" - C++
Я выбрал "Самоучитель С++" Крупника для изучения языка. И вот следующая загвоздка. #include <iostream> using namespace std; ...

9
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
21.04.2012, 18:44 #2
давай весь код
0
Nick Alte
Эксперт С++
1640 / 1012 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
21.04.2012, 19:29 #3
1) Тип AnsiString компилятору неизвестен, поэтому он считает это слово объявлением константы с типом по умолчанию (это int). Инициализирована - значит, ей должно быть присвоено начальное значение. При чём тут заглавные буквы?!
2) Сообщение значит "Ошибка синтаксиса объявления". В данном случае - объявления переменной. Значит, что компилятор из-за неизвестного типа не смог правильно воспринять смысл данной строки.
3) Повторное объявление переменной с одним и тем же именем запрещено. Поскольку компилятор не знает, что AnsiString - тип, он думает, что это имя переменной.
2
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
21.04.2012, 20:57 #4
C++
1
#include <system.hpp>
Вроде надо
0
Андрей Кузалекс
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 6
21.04.2012, 21:08  [ТС] #5
Цитата Сообщение от Nick Alte Посмотреть сообщение
1) Тип AnsiString компилятору неизвестен, поэтому он считает это слово объявлением константы с типом по умолчанию (это int). Инициализирована - значит, ей должно быть присвоено начальное значение. При чём тут заглавные буквы?!
2) Сообщение значит "Ошибка синтаксиса объявления". В данном случае - объявления переменной. Значит, что компилятор из-за неизвестного типа не смог правильно воспринять смысл данной строки.
3) Повторное объявление переменной с одним и тем же именем запрещено. Поскольку компилятор не знает, что AnsiString - тип, он думает, что это имя переменной.
Спасибо за довольно таки полный ответ! Заглавная и начальная буква это синоним в Инглиш. а оказалось начальное значальное. Спасибо!
А разве в библиотеке языка Strig или AnsiString не являются строковыми переменными по умолчанию. или я не правильно понял учебник после объявления константы указал её тип AnsiSring/

Какой же тип указать для строковой константы? Подскажите...
0
Nick Alte
Эксперт С++
1640 / 1012 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
22.04.2012, 09:48 #6
AnsiString - специфический для Borland C++ Builder тип. Для его использования надо подключать <vcl.h>
1
Андрей Кузалекс
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 6
25.04.2012, 14:47  [ТС] #7
Снова проблема с моим пониманием учебника!
После того как я сделал Text.h с текст переменными
Автор пишет: итоговую строку можно записать в свойстве Caption объекта LastDice, который сразу покажет своё содержимое в соответствующем поле окна. Это доступно через указатель ->.
B приводится запись:

void TForm1 :: ShowInfo()
{
LastDice -> Caption = LAST_DICE_STR
+ IntToStr(Referee.Dice.LastValue);
}
Но компилятор Borland C++Bulder6. - показывает:
[C++ Error] Dice.cpp(35): E2247 'TControl::Caption' is not accessible
То есть, что Caption не доступный?
А как его сделать доступным? Что нужно подключить или записать по другому?

Добавлено через 2 минуты
Цитата Сообщение от Nick Alte Посмотреть сообщение
AnsiString - специфический для Borland C++ Builder тип. Для его использования надо подключать <vcl.h>
А где взять весь список всего что можно подключать в С++, с описанием? Подскажите?
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.04.2012, 17:17 #8
Цитата Сообщение от Андрей Кузалекс Посмотреть сообщение
Снова проблема с моим пониманием учебника!
После того как я сделал Text.h с текст переменными
Автор пишет: итоговую строку можно записать в свойстве Caption объекта LastDice, который сразу покажет своё содержимое в соответствующем поле окна. Это доступно через указатель ->.
B приводится запись:

void TForm1 :: ShowInfo()
{
LastDice -> Caption = LAST_DICE_STR
+ IntToStr(Referee.Dice.LastValue);
}
Но компилятор Borland C++Bulder6. - показывает:
[C++ Error] Dice.cpp(35): E2247 'TControl::Caption' is not accessible
То есть, что Caption не доступный?
А как его сделать доступным? Что нужно подключить или записать по другому?
В каком юните описан класс LastDice?
0
Nick Alte
Эксперт С++
1640 / 1012 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
25.04.2012, 18:49 #9
Цитата Сообщение от Nekto Посмотреть сообщение
В каком юните описан класс LastDice?
LastDice здесь не класс, а указатель на объект класса TControl. Ошибка заключается в том, что свойство Caption у объекта TControl хоть и существует, но недоступно для доступа извне (расположено в секции private или protected). Причина возникновения этой ошибки - неверный дизайн программы.
1
Андрей Кузалекс
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 6
03.05.2012, 23:43  [ТС] #10
Если кто - то в учебных целях разбирал когда - то этот учебник, и в конце концов коды программ заработали. Отзовитесь. Поделитесь своими изысканиями или мнениями!
0
03.05.2012, 23:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2012, 23:43
Привет! Вот еще темы с ответами:

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Версия CodeBlocks к книге Стефана Р.Дэфиса "C++ для Чайников" - C++
Недавно купил книгу Стефана Р.Дэфиса &quot;C++ для Чайников&quot;. К ней прилагался диск с интегрированной версией CodeBlocks. До этого я уже работал...

Код, приведеном в книге "С++ за 21 дней. Либерти Джесс" не работает - C++
Здравствуйте. Я новичок в деле программировании, так что, пожалуйста, относитесь ко мне к пониманию. Купил книгу &quot;С++ Освой самостоятельно...

Разобраться в примерх к книге Лафоре "Обьектно-ориентированое программирование в С++" - C++
Всем доброго времени суток кто читает эту тему. Сегодня, изучая С++ по книге Лафоре &quot;Обьектно-ориентированое программирование в С++&quot; 4-е...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru