Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Машина Тьюринга

Автор: mego4el
Дата сообщения: 18.06.2013 12:04
[more] Доброго времени суток.
Есть программа которая реализует на МТ Небольшое вычисление, приведение из унарной в десятичную.

Никак не могу разобраться с ошибками, пожалуйста помогите поисправлять.

Выдает ошибки:

[BCC32 Error] Unit1.h(54): E2285 Could not find a match for 'string::basic_string(const string&)'
Full parser context
Unit1.cpp(7): #include Unit1.h
Unit1.h(31): class TuringMachine
Unit1.h(564): decision to instantiate: void TuringMachine::WriteLog()
--- Resetting parser context for instantiation...
Unit1.h(53): parsing: void TuringMachine::WriteLog()
[BCC32 Error] Unit1.h(65): E2451 Undefined symbol 'Memo2'
Full parser context
Unit1.cpp(7): #include Unit1.h
Unit1.h(31): class TuringMachine
Unit1.h(564): decision to instantiate: void TuringMachine::WriteLog()
--- Resetting parser context for instantiation...
Unit1.h(53): parsing: void TuringMachine::WriteLog()
[BCC32 Error] Unit1.cpp(29): E2285 Could not find a match for 'TuringMachine::TuringMachine()'
Full parser context
Unit1.cpp(16): parsing: _fastcall TForm1::TForm1(TComponent *)
[BCC32 Error] Unit1.cpp(39): E2451 Undefined symbol 'StartConf'
Full parser context
Unit1.cpp(37): parsing: void _fastcall TForm1::Button1Click(TObject *)

Код таков:

Unit.cpp


Код:
// ---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <cstring>
#include <string>
#include <iostream>
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TMemo *Memo1;
TMemo *Memo2;
using namespace std;
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
Memo1->Lines->Clear();
Memo1->Lines->Add("1..9 : десятичные цифры");
Memo1->Lines->Add("/ : унарная цифра");
Memo1->Lines->Add("+ : сложение");
Memo1->Lines->Add("^ : местонахождение головки");
Memo1->Lines->Add("* : умножение");
Memo1->Lines->Add("- : урезанная разница");

// TuringMachine * machine = new TuringMachine();
//AnsiString s = ;
//string str = AnsiString(s.c_str());

TuringMachine machine;


//TuringMachine("//////////3///////"); //StartConf
}

// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (machine == null)
machine = new TuringMachine(StartConf.Text);
machine.DecimalToUnary();
machine.UnaryToDecimal();
//richTextBox1.Text = machine.tb.Text;
}
// ---------------------------------------------------------------------------
Автор: vadim100
Дата сообщения: 19.06.2013 06:18

Цитата:
Бралось из исходников на C#, и тут какое-то значение маски:

this.StartConf.Mask = "&&&&&&&&&&+2*0-&&&&&&&&&&";
Для последующего
this.StartConf.Text = "//////////3///////";


ты не указал, что такое this.StartConf
ищи в справке по c#

если это MaskedTextBox, то гляди
http://msdn.microsoft.com/ru-ru/library/system.windows.forms.maskedtextbox.mask.aspx

обычно маска задается для ввода новых значений, ты же уже обошелся тем что сразу значение задаешь.


Цитата:
Сделал преобразование из string в UnicodeString, но не пойму что же ему не нравится =\
http://i066.radikal.ru/1306/7b/ee25403e8f9bt.jpg


наверно Unicode ему и не нравится.
Разве можно в Memo Добавлять Unicode строки, помоему тока обычные string можно.

Страницы: 1

Предыдущая тема: Локализация языков программирования


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.