提问人:Spektre 提问时间:10/16/2023 最后编辑:Remy LebeauSpektre 更新时间:10/17/2023 访问量:43
使用易失性时 AnsiString [] 访问出现意外语法错误
Unexpected Syntax error with AnsiString [] access when volatile is used
问:
最近,我需要使用 ,并撞到一些像这样的墙:volatile AnsiString
volatile AnsiString s;
s="123456";
s[2]='X'; // <- [C++ Error] Unit1.cpp(17): E2277 Lvalue required
Q1 为什么会导致编译错误?
这是在 BDS 2006 上,我还没有尝试过 RAD Studio 11(我在遗留代码中需要它)。
我可以像这样解决它:
volatile AnsiString s;
s="123456";
char *c=s.c_str(); c[1]='X';
但我想知道发生了什么。
Q2 有没有更好的选择来代替 AnsiString
,它更适合 volatile
?
答: 暂无答案
评论
AnsiString
volatile
volatile
AnsiString
AnsiString
volatile
volatile AnsiString