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, ...);
我在第二个参数中传递了什么?我对这种语言很陌生,不知道如何实现它。
答案 0 :(得分:3)
给出函数声明:
const char* getStatus(actionString, uint16_t*);
传递指针时有两个有效选择:
1)通过nullptr:
actionString a;
const char * p_status = getStatus(a, nullptr);
2)将指针传递给现有变量:
actionString a;
uint16_t value = 0U;
const char * p_status - getStatus(a, &value);
其他选择可能导致未定义的行为。
如果nullptr
无法充分处理空指针,则传递getStatus
可能会导致未定义的行为。
请查看您最喜欢的C ++参考中有关指针的部分。