【发布时间】:2013-11-28 11:55:44
【问题描述】:
我有一个带有以下签名的方法的类:
void print(unsigned char *word);
我需要将"" 设置为word 的默认值,我该怎么做?
我尝试了明显的void print(unsigned char *word="");,但出现以下错误:
error: cannot initialize a parameter of type
'unsigned char *' with an lvalue of type 'const char [1]'
void print(unsigned char *word="");
由于我无法使用字符串文字初始化 word,我应该由谁来初始化?
【问题讨论】:
-
指针不应该这样初始化
-
你为什么不想使用
std::string? -
您需要在
print()中更改单词吗?否则写void print(const char *word);。 -
如果您打算更多地使用 C++ 进行编程,那么我会说这是学习标准库及其类和算法的要求。使用标准库将使您作为 C++ 程序员的生活更加轻松,保证!您可能想查看参考网站such as this one 以了解更多关于可用内容的信息。
-
好吧,因为它是 c++,你可以定义第二个函数 void print(),然后它会调用你的 1 arg 函数 void print(unsigned char *),但是你喜欢。
标签: c++ initialization default-arguments