默认初始化 const 类型的对象 'NSString *const __strong'?

Default initialization of an object of const type 'NSString *const __strong'?

当我的 Xcode 项目使用 .mm 文件编译时出现多个错误并且所有错误都是相同的 "Default initialization of an object of const type 'NSString *const __strong'" 并且它建议放置 =nil。当我将 C++ 代码放入 .mm 时出现错误时,还包含一些 .cpp 文件和 .mm 没有出现问题。 我们都知道,如果我们输入 .mm,它将同时编译 Objective-C 和 C++。错误主要是 NSString *const object; 类型的初始化。我不想在那之前放 extern 或对其进行一些其他修改,因为那些 类 是由客户在岸团队中的其他人编写的,所以我不应该碰那些。

这样的声明
NSString *const object;

表示 object 是指向 NSString 对象的常量指针。请注意 constant pointer,即常量指针,不能修改。

这样的指针必须在定义时初始化,否则它将永远未初始化(如果在全局范围内定义则初始化为零)。您不能稍后分配给它来初始化它。

如果您在其他翻译 units/modules 中声明了此类变量,那么您 必须 使用 extern 关键字明确告诉编译器这是一个在其他地方存在(并初始化)的变量的声明。