我面临使用枚举的问题。
代码如下:
.h文件
enum sshd_sftp_status
{
SSHD_SUCCESS =0,
SSHD_FAILED =1,
SSHD_KEYS_NOT_INSTALLED =2,
};
extern sshd_sftp_status enableSSHSFTPKeyMode(int isSshSftpOnlyLogsActivated);
.c文件
sshd_sftp_status enableSSHSFTPKeyMode(int isSshSftpOnlyLogsActivated)
{
if(isSshSftpOnlyLogsActivated)
{
//code
}
return SSHD_SUCCESS;
}
使用上面的代码,我在编译过程中出现以下错误:
错误:前面应为“=”、“,”、“;”、“asm”或“attribute”
'启用SshSftpKeyMode'
如果我将返回类型从
int
更改为enum
,它可以正常工作。帮帮我。
最佳答案
只需在类型名前面加上enum
关键字-这就是导致错误的原因。
extern enum sshd_sftp_status enableSSHSFTPKeyMode(int isSshSftpOnlyLogsActivated);
enum sshd_sftp_status enableSSHSFTPKeyMode(int isSshSftpOnlyLogsActivated)
{
if(isSshSftpOnlyLogsActivated)
{
//code
}
return SSHD_SUCCESS;
}
或者像这样使用
typedef
-这可能更接近你想要的:typedef enum
{
SSHD_SUCCESS =0,
SSHD_FAILED =1,
SSHD_KEYS_NOT_INSTALLED =2,
} sshd_sftp_status;