powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Cannot convert 'AnsiString' to 'string'
8 сообщений из 8, страница 1 из 1
Cannot convert 'AnsiString' to 'string'
    #39542413
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Билдер 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
Cannot convert 'AnsiString' to 'string'
    #39542421
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kameroПомогите исправить ошибки...
Ctrl-R, "string", "AnsiString", Enter, A.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Cannot convert 'AnsiString' to 'string'
    #39542433
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Cannot convert 'AnsiString' to 'string'
    #39542442
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
View -> Debug Windows -> Call Stack.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Cannot convert 'AnsiString' to 'string'
    #39542443
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Cannot convert 'AnsiString' to 'string'
    #39542447
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

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

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

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



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


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