|
|
|
EAccessViolation при работе с cout.
|
|||
|---|---|---|---|
|
#18+
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #include <iostream> #include <string> using namespace std; #pragma argsused int main(int argc, char* argv[]) { string s="aaa"; cout << s << endl; return 0; } //------ В строке cout << s << endl; EAccessViolation. Если заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает. Какие будут соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 21:42 |
|
||
|
EAccessViolation при работе с cout.
|
|||
|---|---|---|---|
|
#18+
CoutProblem//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #include <iostream> #include <string> using namespace std; #pragma argsused int main(int argc, char* argv[]) { string s="aaa"; cout << s << endl; return 0; } //------ В строке cout << s << endl; EAccessViolation. Если заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает. Какие будут соображения? Забил сказать, ошибка возникает в C++ Builder'e. В Dev-C++, к примеру, такой нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 21:45 |
|
||
|
EAccessViolation при работе с cout.
|
|||
|---|---|---|---|
|
#18+
незнаю че у тебя за траблы, я сделал File-new-other-consolewizard потом вставил твой код и все нормально откомпилило и запустило без аксесов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 22:55 |
|
||
|
EAccessViolation при работе с cout.
|
|||
|---|---|---|---|
|
#18+
а вообще зачем ты #include <vcl.h> написал, оно и без ВЦЛ работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 22:58 |
|
||
|
EAccessViolation при работе с cout.
|
|||
|---|---|---|---|
|
#18+
sashka304а вообще зачем ты #include <vcl.h> написал, оно и без ВЦЛ работает Bez <vcl.h> -> [linker error]. U menja, lichno, podozrenie chto kakie-to problemi s opcijami, sam code v porjadke. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 23:41 |
|
||
|
EAccessViolation при работе с cout.
|
|||
|---|---|---|---|
|
#18+
авторЕсли заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает. Какие будут соображения? Соображения такие, что для string не переопределен оператор "<<" string это НЕ СТРОКА, ЭТО ОБЪЕКТ! cout знает что делать со строкой, но не знает что делать с объектом string. Иными словами ты "пихаешь в принтер бумагу в упаковке". Совет: не парься, а выводи как "cout << s.c_str()<< endl;" и будет тебе счастье! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 09:42 |
|
||
|
EAccessViolation при работе с cout.
|
|||
|---|---|---|---|
|
#18+
VirtualMan авторЕсли заменить "cout << s << endl;" на "cout << s.c_str()<< endl;", EAccessViolation не возникает. Какие будут соображения? Соображения такие, что для string не переопределен оператор "<<" string это НЕ СТРОКА, ЭТО ОБЪЕКТ! cout знает что делать со строкой, но не знает что делать с объектом string. Иными словами ты "пихаешь в принтер бумагу в упаковке". Совет: не парься, а выводи как "cout << s.c_str()<< endl;" и будет тебе счастье! Dlja menja to chto dlja string ne pereopredelen operator<< - novostj ! Iz C++ Builder dokumentaciji. template<class charT, class traits, class Allocator> basic_istream<charT, traits>& operator>> (istream&, basic_string&); template <class charT, class traits, class Allocator> basic_ostream<charT, traits>& operator<< (ostream&, const basic_string&); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 10:24 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34273685&tid=2029603]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 481ms |

| 0 / 0 |
