【问题标题】:IOS declare boost class as class variableIOS将boost类声明为类变量
【发布时间】:2016-08-03 16:21:42
【问题描述】:

我正在尝试使用 boost 库类进行一些套接字通信。我需要将这个变量声明为类实例,所以我声明如下,

@interface Custom_View : UIView{
    boost::asio::io_service io_service_2;
    tcp::resolver r_2(io_service_2);
    client c_2(io_service_2);
    boost::thread* dvr_thread_2;
}

越来越像错误

Custom_View.h:46:23: Unknown type name 'io_service_2'; did you mean 'boost::asio::io_service'?
Custom_View.h:47:16: Unknown type name 'io_service_2'; did you mean 'boost::asio::io_service'?
Custom_View.h:46:19: Field 'r_2' declared as a function
Custom_View.h:47:12: Field 'c_2' declared as a function

如何解决此错误。

【问题讨论】:

    标签: ios objective-c boost


    【解决方案1】:

    如果您尝试声明一个 Objective-C 类或静态变量,您必须在 @interface 声明中的大括号之外进行。例如(如果您没有声明任何实例变量,可以省略“{}”):

    @interface SubclassName : SuperclassName
    
    Type variableName;
    

    话虽如此,我对 boost 库并不熟悉,而且在您的代码中声明的变量似乎不是有效的 Objective-C。一个快速的谷歌搜索带来了这个 GitHub 项目,它可能会帮助你朝着正确的方向前进:https://github.com/mz2/boostoniphone

    【讨论】:

    • 我需要将它用作类实例变量,因为我将在我的代码中将这个类用作不同的实例。
    猜你喜欢
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2018-08-25
    • 2011-04-18
    • 2010-12-22
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多