如何解决如何使用字符串文字
我想执行以下操作:
const char errorMsg [64] ( useApple ? "Error Msg Apple\n" : "Error Msg Bee\n" );
MyMethod ( errorMsg );
对于带有签名的方法:
MyMethod(const char* errorMessageInput );
我有一个接受 const char* 的方法,我想在发送它之前创建一个局部变量。我无法分配动态内存,但我可以使用比需要更大的数组(在这种情况下,我将其设为 64 )。我将如何编译此代码?
解决方法
你可以声明一个指针来代替数组
const char *errorMsg = useApple ? "Error Msg Apple\n" : "Error Msg Bee\n";
实际上,如果方法参数的类型为 const char *
,则无需声明常量数组。
你可以写例如
#include <cstring>
//...
char errorMsg [64];
strcpy( errorMsg,useApple ? "Error Msg Apple\n" : "Error Msg Bee\n" );
然后使用数组作为方法的参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。