Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2011, 18:58   #1
ali3412
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 11
По умолчанию Ошибка в строке typedef __stl_mbstate_t mbstate_t;

Только что начал изучать программирование на C по книгам, используя C++ Builder 6. Компиляция не проходит, выходит ошибка в строке:
Цитата:
typedef __stl_mbstate_t mbstate_t;
файла _mbstate.h

Код такой:
Цитата:
#include <iostream.h>
#include <conio.h>
#pragma hdrstop

int multiply(int, int)
void showResult(int)

int main(int argc, char** argv)
{
int x, y, result;
cout << endl << "Enter the first value: ";
cin >> x;
cout << "Enter the second value: ";
cin >> y;
result = multiply(x, y);
showResult(result);
cout << endl << endl << "Press any key to continue";
getch();
return 0;
}
Лог ошибок:

Цитата:
[C++ Error] _mbstate.h(52): E2257 , expected
[C++ Error] type_traits.h(64): E2453 Size of the type '__true_type' is unknown or zero
[C++ Error] type_traits.h(65): E2453 Size of the type '__false_type' is unknown or zero
[C++ Error] type_traits.h(68): E2141 Declaration syntax error
[C++ Error] type_traits.h(70): E2141 Declaration syntax error
[C++ Error] type_traits.h(73): E2141 Declaration syntax error
[C++ Error] type_traits.h(77): E2141 Declaration syntax error
[C++ Error] type_traits.h(82): E2141 Declaration syntax error
[C++ Error] type_traits.h(89): E2141 Declaration syntax error
[C++ Error] type_traits.h(90): E2141 Declaration syntax error
[C++ Error] type_traits.h(98): E2141 Declaration syntax error
[C++ Error] type_traits.h(107): E2141 Declaration syntax error
[C++ Error] type_traits.h(174): E2141 Declaration syntax error
[C++ Error] type_traits.h(200): E2141 Declaration syntax error
[C++ Error] type_traits.h(201): E2141 Declaration syntax error
[C++ Error] type_traits.h(204): E2141 Declaration syntax error
[C++ Error] type_traits.h(209): E2141 Declaration syntax error
[C++ Error] type_traits.h(210): E2141 Declaration syntax error
[C++ Error] type_traits.h(213): E2141 Declaration syntax error
[C++ Error] type_traits.h(224): E2141 Declaration syntax error
[C++ Error] type_traits.h(226): E2141 Declaration syntax error
[C++ Error] type_traits.h(228): E2141 Declaration syntax error
[C++ Error] type_traits.h(230): E2141 Declaration syntax error
[C++ Error] type_traits.h(232): E2141 Declaration syntax error
[C++ Error] type_traits.h(235): E2141 Declaration syntax error
[C++ Error] type_traits.h(235): E2228 Too many error or warning messages

Последний раз редактировалось ali3412; 04.11.2011 в 19:48.
ali3412 вне форума Ответить с цитированием
Старый 04.11.2011, 19:24   #2
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Код:
#include <iostream>
#include <conio.h>
#pragma hdstop

int multiply(int, int);
void showResult(int);

int main(int argc, char** argv)
{
int x, y, result;
std::cout << std::endl<< "Enter the first value: ";
std::cin >> x;
std::cout << "Enter the second value: ";
std::cin >> y;
result = multiply(x, y);
showResult(result);
std::cout << std::endl << "Press any key to continue";
getch();
return 0;
}
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 04.11.2011, 19:30   #3
ali3412
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
Код:
#include <iostream>
#include <conio.h>
#pragma hdstop

int multiply(int, int);
void showResult(int);

int main(int argc, char** argv)
{
int x, y, result;
std::cout << std::endl<< "Enter the first value: ";
std::cin >> x;
std::cout << "Enter the second value: ";
std::cin >> y;
result = multiply(x, y);
showResult(result);
std::cout << std::endl << "Press any key to continue";
getch();
return 0;
}
Не совсем понял что вы имели ввиду, но ваш код тоже выдает эту ошибку. Не разбираюсь в тонкостях, но думаю следует уточнить что код пишу на C а не на C++. Если ошибка в коде тогда возникает вопрос почему в обучающем материале приводится пример ошибочного кода как верный. Возможно он просто устаревший? Тогда каким компилятором следует пользоваться?
ali3412 вне форума Ответить с цитированием
Старый 04.11.2011, 19:36   #4
ali3412
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 11
По умолчанию

Теперь понял что вы имеете ввиду, проблема не решилась.

Последний раз редактировалось ali3412; 04.11.2011 в 19:44.
ali3412 вне форума Ответить с цитированием
Старый 04.11.2011, 20:28   #5
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Цитата:
Не разбираюсь в тонкостях, но думаю следует уточнить что код пишу на C а не на C++.
Тогда никаких cin и cout. Кстати, а реализации функций multiply() и showResult() имеются?
Цитата:
Если ошибка в коде тогда возникает вопрос почему в обучающем материале приводится пример ошибочного кода как верный.
Во многих книгах типа "Выучи ХХХ ха ХХ дней(часов)" зачастую приводится такой быдлокод, что хоть стой, хоть падай
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 04.11.2011, 20:43   #6
ali3412
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
Во многих книгах типа "Выучи ХХХ ха ХХ дней(часов)" зачастую приводится такой быдлокод, что хоть стой, хоть падай
К сожалению я это уже заметил и отсеял уже пару казалось бы серьезных книг. В поисках обучающего материала с нуля на данном форуме встретил тему со ссылками на книги, но оттуда тоже что-то пришлось отсеять. Может кто нибудь посоветует источник по которому обучался сам без посторонней помощи и без подобных проблем?
ali3412 вне форума Ответить с цитированием
Старый 04.11.2011, 20:54   #7
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Цитата:
Может кто нибудь посоветует источник по которому обучался сам без посторонней помощи и без подобных проблем?
C или C++?
P.S. Опечатки могут быть и в авторитетном издании.
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 04.11.2011, 20:56   #8
ali3412
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Sam Gold Посмотреть сообщение
C или C++?
P.S. Опечатки могут быть и в авторитетном издании.
Сама цель C++, но как я понял основательное понимание C++ невозможно без предварительного изучения C.
ali3412 вне форума Ответить с цитированием
Старый 04.11.2011, 21:03   #9
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Керниган, Ричи. Язык C
Страуструп Язык программирования С++
Шилдт Теория и практика C++
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 04.11.2011, 21:06   #10
ali3412
Пользователь
 
Регистрация: 04.11.2011
Сообщений: 11
По умолчанию

Спасибо. Для Страуструпа нужны базовые знания программирования (по крайней мере я ничего не понял). Остальных обязательно посмотрю.
ali3412 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка на typedef!!! ice173 Общие вопросы C/C++ 2 24.05.2011 10:04
template, typedef и наследование valdemar593 Общие вопросы C/C++ 2 12.03.2011 18:46
шаблоны и typedef в С++ EniOk Помощь студентам 19 02.03.2011 16:55
Для чего используют typedef prikolist Общие вопросы C/C++ 17 16.04.2009 15:36
Использование typedef с vector <type> kezman Общие вопросы C/C++ 2 19.07.2008 21:17