Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Cannot convert 'AnsiString' to 'string' / 8 сообщений из 8, страница 1 из 1
26.10.2017, 13:31
    #39542413
kamero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
Билдер 6-ой. Помогите исправить ошибки...


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
//---------------------------------------------------------------------------

#include <vcl.h>
#include<iostream>
#include<string>

using namespace std;

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

string Morf(string S1, bool T)
{
    int LS;
    int KB;
    int B;
    int W;
    string S2;
 
    LS = S1.size();
    KB = LS * LS;
    if (!T)
    {
        for (int I = 0; I < LS; I++)
        {
            B = S1[I];
            if (B > 32)
            {
                W = B + KB;
                if (W > 255)
                    W = W - 223;
                B = W;
            }; // If
            S2 += static_cast<char>(B);
            KB = (KB + (I * 2)) & 127;
        }
    }
    else
    {
        for (int I = 0; I < LS; I++)
        {
            B = S1[I];
            if (B > 32)
            {
                W = B - KB;
                if (W < 33)
                    W = W + 223;
                B = W;
            }
            S2 += static_cast<char>(B);
            KB = (KB + (I * 2)) & 127;
        }
    }
    return S2;
}




void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit2->Text = Morf(Edit1->Text, false);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit4->Text = Morf(Edit3->Text, true);
}
//---------------------------------------------------------------------------



[C++ Error] Unit1.cpp(71): E2034 Cannot convert 'AnsiString' to 'string'
[C++ Error] Unit1.cpp(71): E2342 Type mismatch in parameter 'S1' (wanted 'string', got 'AnsiString')
[C++ Error] Unit1.cpp(71): E2034 Cannot convert 'string' to 'AnsiString'
[C++ Error] Unit1.cpp(77): E2034 Cannot convert 'string' to 'AnsiString'
...
Рейтинг: 0 / 0
26.10.2017, 13:39
    #39542421
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
kameroПомогите исправить ошибки...
Ctrl-R, "string", "AnsiString", Enter, A.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.10.2017, 13:47
    #39542433
kamero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
Dimitry Sibiryakov,

Ошибка по адресу выбивает... в файл dstring.h
Код: plaintext
1.
2.
3.
4.
5.
6.
    char& __fastcall operator [](const int idx)
    {
      ThrowIfOutOfRange(idx);   // Should Range-checking be optional to avoid overhead ??
      Unique();                 // Ensure we're not ref-counted
      return Data[idx-1];
    }
...
Рейтинг: 0 / 0
26.10.2017, 13:53
    #39542442
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
View -> Debug Windows -> Call Stack.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.10.2017, 13:55
    #39542443
kamero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
Dimitry Sibiryakov,

75C4B727 C:\Windows\syswow64\KERNELBASE.dll
40005B68 C:\Windows\SysWOW64\rtl60.bpl
775C6A8B ntdll.dll
77590143 ntdll.dll
0040277A System::AnsiString::ThrowIfOutOfRange
00401DA7 System::AnsiString::operator [](this=:0018F280, idx=0)
00401BE9 Morf(S1={ "111" }, T=false)
00401E2B TForm1::Button1Click(this=:009E5674, Sender=:009E73B8)
4010798A C:\Windows\SysWOW64\vcl60.bpl
4010A9A8 C:\Windows\SysWOW64\vcl60.bpl
4010AAE0 C:\Windows\SysWOW64\vcl60.bpl
4010A9A8 C:\Windows\SysWOW64\vcl60.bpl
4010A623 C:\Windows\SysWOW64\vcl60.bpl
40037EEA C:\Windows\SysWOW64\rtl60.bpl
759862FA C:\Windows\syswow64\user32.dll
75986D3A C:\Windows\syswow64\user32.dll
75990D27 C:\Windows\syswow64\user32.dll
75990D4D C:\Windows\syswow64\user32.dll
7227A7C2 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
7227A9D0 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
7227A985 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
72291BD0 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
7227A9D0 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
7227A8C3 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
759862FA C:\Windows\syswow64\user32.dll
75986D3A C:\Windows\syswow64\user32.dll
7598965E C:\Windows\syswow64\user32.dll
759896C5 C:\Windows\syswow64\user32.dll
759C5FBB C:\Windows\syswow64\user32.dll
759C60FC C:\Windows\syswow64\user32.dll
759B312E C:\Windows\syswow64\user32.dll
759AAA3F C:\Windows\syswow64\user32.dll
759862FA C:\Windows\syswow64\user32.dll
75986D3A C:\Windows\syswow64\user32.dll
75990D27 C:\Windows\syswow64\user32.dll
7599794A C:\Windows\syswow64\user32.dll
4010AA8C C:\Windows\SysWOW64\vcl60.bpl
4010A9A8 C:\Windows\SysWOW64\vcl60.bpl
40037EEA C:\Windows\SysWOW64\rtl60.bpl
759862FA C:\Windows\syswow64\user32.dll
75986D3A C:\Windows\syswow64\user32.dll
759877C4 C:\Windows\syswow64\user32.dll
75987BCA C:\Windows\syswow64\user32.dll
400F5834 C:\Windows\SysWOW64\vcl60.bpl
004017AB WinMain( =:00400000, =NULL, =:00454450, =9)
3267E52F C:\Windows\SysWOW64\CC3260MT.DLL
...
Рейтинг: 0 / 0
26.10.2017, 13:57
    #39542447
kamero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
kamero,

2-ая, строчка эта ошибка которая выскакивает в всплывающем окне. Вот в этом файле что то не так.
...
Рейтинг: 0 / 0
26.10.2017, 14:26
    #39542495
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
kamero00401BE9 Morf(S1={ "111" }, T=false)

Вот теперь кликай на эту строчку и смотри на какую строку кода тебя вынесет. Смотри что в
ней неправильно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.10.2017, 08:18
    #39542955
kamero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot convert 'AnsiString' to 'string'
Dimitry Sibiryakov,

Код: plaintext
1.
B = S1[I];



Вот на эту выводит...
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Cannot convert 'AnsiString' to 'string' / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]