C结构中的函数定义?

lul*_*eta 1 c constructor struct

我有一个我需要理解的C代码.有一个

typedef struct someStruct {
    int i; 
    char c; 
    someStruct() {
        i = 0;
        c = 'c';
    }
    someStruct(char inpChar) {
        i = 1;
        c = inpChar;
    }
} t_someStruct;
Run Code Online (Sandbox Code Playgroud)

(我知道,代码实际上没有意义或有用.我只是简化它.)所以有这个结构,它有两个成员(int i和char c).有趣的是它基本上有两个构造函数,这对我来说是一个新概念.它工作正常,但我们可以编写结构的构造函数吗?我在谷歌上找不到任何东西,也许我没找对.

Bas*_*tch 7

您的代码不是有效的C代码(即有效的C11)代码,但它是有效的C++(即C++ 14)代码.

在C++中,a struct类似于a,class除了默认情况下所有成员public; 看这里.