返回函数类型以外的其他类型变量
Return other type variable than function's type
如何返回函数类型以外的变量?
这是我的代码:
String wyslij(String cmd, boolean parse = false) {
wifi.println(cmd);
String response = "";
bool beg = false;
if(parse == true){
(more code but this is not important)
JsonObject& root = jsonBuffer.parseObject(response);
return root; //how?
}
return wifi.readString();
}
我想返回"root",我该怎么做?
谢谢!
严格来说,你不能。制作一个工会或一个特殊的结构只是为了传递,可能会给你你想要的东西。这是否是一个好主意取决于您的呼叫者在做什么。
编辑:这是一种方式:
String wyslij(String cmd, boolean parse = false, JsonObject * obj = NULL) {
wifi.println(cmd);
String response = "";
bool beg = false;
if(parse == true && obj != NULL){
(*obj) = jsonBuffer.parseObject(response);
}
return wifi.readString();
}
void Caller() {
JsonObject root;
String ret_val = wyslij(cmd, true, &root);
/* do things with root */
}
它可能不起作用,具体取决于制作JsonObject
所涉及的副作用(除其他外),但它会给你要点。
你不能
,它违反了语言类型系统。
但是,您应该能够获得字符串表示形式,例如使用root.toString()或等效的类方法
相关文章:
- 从模板创建通用打印函数,以打印基元数据类型变量的值
- 泛型枚举和其他类型的重载模板函数
- 指针数据类型变量如何包含对象?
- 将结构时间规范添加到类(似乎没有其他类型的)会导致EXEC_BAD_ACCESS
- 将 static_cast<int>(-15) 分配给静态常量字符类型变量
- 将内置类型变量传递给只有一个类类型参数的"+"运算符函数时自动类型转换的构造函数
- 严格的别名是否会阻止您通过其他类型写入 char 数组?
- 使用字节向量作为其他类型的原始存储是一种好的做法吗
- 如何为结构类型变量赋值
- 如何将字符类型变量附加到字符串中?
- 共享或私有 openmp 代码中的结构化类型变量
- 有没有办法在 c++ 中制作类型变量?
- 从其他类声明类类型变量会给出 C2143 错误(在"*"之前缺少";")
- 使用全局变量初始化不同编译单元中的其他全局变量
- 如何检查类中定义的枚举类型变量是否被分配给?
- 将子类实例保存在父类型变量中并通过父变量使用 Child 函数?
- 为什么可以将其他类型变量用作C 中常量参考参数参数的参数
- 如何有效地将底层数据从 std::string 移动到其他类型的变量?
- 为什么类的 reinterpret_cast<const char*> 及其预初始化成员 int 相同,而任何其他类型的变量都不是?
- 返回函数类型以外的其他类型变量