在oc文件中引用结构体
示例代码1:
文件:rx-objc-runtime-new.h
struct rx_bucket_t {
int _a;
int _b;
};
文件:RXCLanguageViewController.m
#import "rx-objc-runtime-new.h"
编译没有问题,可以正常使用结构体
示例代码2:
文件:rx-objc-runtime-new.h
struct rx_bucket_t {
private:
int _a;
int _b;
};
文件:RXCLanguageViewController.m
#import "rx-objc-runtime-new.h"
编译有问题,出现如下编译警告:
image.png
这个时候需要把文件名RXCLanguageViewController.m 修改为RXCLanguageViewController.mm即可解决此问题
结构体中的函数声明与实现
.h文件中:
struct rx_bucket_t {
private:
int _a;
int _b;
public:
inline int a() const { return _a; }
inline int b() const { return _b; }
inline void setA(int newA) { _a = newA; }
inline void setB(int newB) { _b = newB; }
void set(int newA, int newB);
};
.mm文件中
void rx_bucket_t::set(int newA, int newB)
{
_a = newA;
_b = newB;
}
网友评论