class TMyClass
{
public:
String MyFunc(const wchar_t *fmt...);
};
String TMyClass::MyFunc(const wchar_t *fmt...)
{
String s;
return s;
}
17 个解决方案
#1
这种bug 最恶心了
#2
可能EMB根本不知道有这样的BUG存在。
#3
让代码去适应编译器吧!
#4
现有的项目有几个 ... 参数的函数用的比较多,改起来比较麻烦,感觉都把这个都改完了还肯定会有其他 BUG,改起来就没完了。
现在不是急着做 64 位的程序,先等等吧,可能等我用的时候编译器就好了,也可能到那时候就换编译器了。
XE5 之前的64位程序不能编译自己做的控件,XE6开始能编译自己做的控件的,所以只有XE6开始测试过64位编译器,之前的64位看都没看,无论有没有BUG都不能用。
现在不是急着做 64 位的程序,先等等吧,可能等我用的时候编译器就好了,也可能到那时候就换编译器了。
XE5 之前的64位程序不能编译自己做的控件,XE6开始能编译自己做的控件的,所以只有XE6开始测试过64位编译器,之前的64位看都没看,无论有没有BUG都不能用。
#5
也就是说,如果现在着急做64位的项目,肯定就换编译器了,不能用C++ Builder。
#6
我一般的都是声明完了直接先赋值String s=L"";
不知道对BUG有没有用
不知道对BUG有没有用
#7
应该是对 ... 可变参数支持不够好。
String MyFunc(const wchar_t *fmt , ...);
这里也该加个逗号的,可是不加也应能给出错误提示吧。随便给个Internal compiler error:,也不定位错误行,说是BUG也不为过。
String MyFunc(const wchar_t *fmt , ...);
这里也该加个逗号的,可是不加也应能给出错误提示吧。随便给个Internal compiler error:,也不定位错误行,说是BUG也不为过。
#8
试试可变参数...前加个逗号看看还出错不,我未装64位,也未装XE6与7
#9
有没有逗号都一样,都试验过了,都是编译器内部错误
#10
class TMyClass
{
public:
String MyFunc(const wchar_t *fmt, ...);
};
String TMyClass::MyFunc(const wchar_t *fmt, ...)
{
String s;
return s;
}
#11
不用String就好了,不知为何。
#12
c++builder的编译器是在是烂到爆。起码的sfinae都不行。可笑的是自带一个boost,编译也通不过。
#13
唉... 这不是打击我的升级积极性么
#14
XE7 的x64编译器还是基于clang3.1的,估计弄出来之后就没管过了。
#15
clang3.6了吧,要是能同步升级clang版本就好了
#16
我感觉这clang/llvm编译器是一种倒退,庞大而缓慢,不支持unicode标识符,不支持intel语法的嵌入汇编,简直一无是处。说到多平台支持,Delphi编译器照样支持啊,EMB也不是没有自己开发编译器的能力,何必拾人牙慧。
#17
后期都不维护了
#1
这种bug 最恶心了
#2
可能EMB根本不知道有这样的BUG存在。
#3
让代码去适应编译器吧!
#4
现有的项目有几个 ... 参数的函数用的比较多,改起来比较麻烦,感觉都把这个都改完了还肯定会有其他 BUG,改起来就没完了。
现在不是急着做 64 位的程序,先等等吧,可能等我用的时候编译器就好了,也可能到那时候就换编译器了。
XE5 之前的64位程序不能编译自己做的控件,XE6开始能编译自己做的控件的,所以只有XE6开始测试过64位编译器,之前的64位看都没看,无论有没有BUG都不能用。
现在不是急着做 64 位的程序,先等等吧,可能等我用的时候编译器就好了,也可能到那时候就换编译器了。
XE5 之前的64位程序不能编译自己做的控件,XE6开始能编译自己做的控件的,所以只有XE6开始测试过64位编译器,之前的64位看都没看,无论有没有BUG都不能用。
#5
也就是说,如果现在着急做64位的项目,肯定就换编译器了,不能用C++ Builder。
#6
我一般的都是声明完了直接先赋值String s=L"";
不知道对BUG有没有用
不知道对BUG有没有用
#7
应该是对 ... 可变参数支持不够好。
String MyFunc(const wchar_t *fmt , ...);
这里也该加个逗号的,可是不加也应能给出错误提示吧。随便给个Internal compiler error:,也不定位错误行,说是BUG也不为过。
String MyFunc(const wchar_t *fmt , ...);
这里也该加个逗号的,可是不加也应能给出错误提示吧。随便给个Internal compiler error:,也不定位错误行,说是BUG也不为过。
#8
试试可变参数...前加个逗号看看还出错不,我未装64位,也未装XE6与7
#9
有没有逗号都一样,都试验过了,都是编译器内部错误
#10
class TMyClass
{
public:
String MyFunc(const wchar_t *fmt, ...);
};
String TMyClass::MyFunc(const wchar_t *fmt, ...)
{
String s;
return s;
}
#11
不用String就好了,不知为何。
#12
c++builder的编译器是在是烂到爆。起码的sfinae都不行。可笑的是自带一个boost,编译也通不过。
#13
唉... 这不是打击我的升级积极性么
#14
XE7 的x64编译器还是基于clang3.1的,估计弄出来之后就没管过了。
#15
clang3.6了吧,要是能同步升级clang版本就好了
#16
我感觉这clang/llvm编译器是一种倒退,庞大而缓慢,不支持unicode标识符,不支持intel语法的嵌入汇编,简直一无是处。说到多平台支持,Delphi编译器照样支持啊,EMB也不是没有自己开发编译器的能力,何必拾人牙慧。
#17
后期都不维护了