C++ 如何为枚举传递uint16_t*
实施时C++ 如何为枚举传递uint16_t*,c++,enums,C++,Enums,实施时 typedef enum : uint16_t { typeScan = 11, typeSell = 12, typeBuy = 13 } actionString; .. .. .. class classB { public: const char* getStatus(actionString, uint16_t*); } 在第二个参数中传递什么?我对这种语言非常陌生,不知道如何实现它。给出函数声明: classB
typedef enum : uint16_t
{
typeScan = 11,
typeSell = 12,
typeBuy = 13
} actionString;
..
..
..
class classB
{
public:
const char* getStatus(actionString, uint16_t*);
}
在第二个参数中传递什么?我对这种语言非常陌生,不知道如何实现它。给出函数声明:
classB b = new classB();
const char* statusText = b -> getStatus(typeScan, ...);
传递指针时有两个有效选项:1) 通过空PTR:
const char* getStatus(actionString, uint16_t*);
2) 将指针传递到现有变量:
其他选择可能导致未定义的行为
如果getStatus
不能充分处理空指针,则传递nullptr
可能会导致未定义的行为
请回顾一下你最喜欢的C++引用中的指针的部分。< /P>这是哪种语言?它看起来像C++,但是你有很多标签。它是我XCODE项目(Objul-C)中的第三个库,我们怎么知道?你甚至没有告诉我们C++应该做什么。请帮忙。我不知道为什么会有这么多人投反对票。什么问题?提醒,请不要使用
new
创建变量实例。仅在必要时使用new
,例如列表中的节点或在运行时数量未知时。
actionString a;
const char * p_status = getStatus(a, nullptr);
actionString a;
uint16_t value = 0U;
const char * p_status - getStatus(a, &value);