You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FreeBASIC自定义类Type编写后编译报错问题求助

FreeBASIC类定义报错修复方案

原代码的错误点

  • FreeBASIC 默认的Type为普通结构体,不支持this指针、成员方法等面向对象特性,必须显式继承内置基类Object才能启用类相关能力
  • FreeBASIC 不支持直接在Type块内部编写成员方法的完整实现,需要先在类内声明方法,再在类外完成实现
  • 调用无参成员方法时需补充括号,否则编译器会识别为属性访问而报错

修正后可直接运行的代码

Type MyClass Extends Object
    Dim mystring As String
    ' 类内声明成员方法
    Declare Function myfunction() As String
End Type

' 类外实现成员方法
Function MyClass.myfunction() As String
    Dim myout As String
    myout = "Hello your message are: " + this.mystring
    Return myout
End Function

Dim myobject As MyClass
myobject.mystring = "Im noob"
' 调用方法需加括号
Print myobject.myfunction()
' 暂停程序方便查看输出
Sleep

额外提示

如果不需要使用多态、继承等高级OOP功能,也可以用普通结构体搭配传递结构体指针的全局函数实现类似逻辑,兼容性更好。

内容的提问来源于stack exchange,提问作者Sever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:12:05