It's too late to do anything about it and risk breaking a lot of programs. Especially those written by somebody who might still be modifying his stuff away from A, A!, A$, A&, A&& and many others...
I'm not sure but this might be because the QB64 code processor creates a ridiculous internal C++ variable name, which starts with the variable name in BASIC code, and then the type such as "SINGLE" or "STRING" or an UDT. So there are no doubts at C++ code-mess level about which one is A and which one is A$, without caring if `OPTION _EXPLICIT` is going on.
This is just an exerpt from random1's program modified by me to include some of Steve's code presented in another thread:
I'm not sure but this might be because the QB64 code processor creates a ridiculous internal C++ variable name, which starts with the variable name in BASIC code, and then the type such as "SINGLE" or "STRING" or an UDT. So there are no doubts at C++ code-mess level about which one is A and which one is A$, without caring if `OPTION _EXPLICIT` is going on.
This is just an exerpt from random1's program modified by me to include some of Steve's code presented in another thread:
Code: (Select All)
*__DOUBLE_A=pow2(*__DOUBLE_A, 2 );
if(!qbevent)break;evnt(15);}while(r);
do{
qbs_set(__STRING_ANO,FUNC_N2S(qbs_ltrim(qbs_str((double)(*__DOUBLE_A)))));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(17);}while(r);
do{
qbs_set(__STRING_ANO,func_mid(__STRING_ANO, 1 , 6 ,0|1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18);}while(r);
do{
*__SINGLE_P=*__SINGLE_P+func_val(__STRING_ANO);