在我的c ++项目中,我想使用GTKsourceview库中的Gsv :: buffer。 我声明我的缓冲区是这样的:
UPDATE tablename
SET fieldname1=temptable.data
FROM (
SELECT UNNEST(ARRAY[1,2]) AS id,
UNNEST(ARRAY['a', 'b']) AS data
) AS temptable
WHERE tablename.id=temptable.id;
我创建它:
Glib::RefPtr<Gsv::Buffer> buffer;
但是当我想从Gtk :: buffer使用一些继承的函数时:
buffer->create();
可执行文件退出并返回:
Erreur de segmentation(core dumped)
有什么问题?
感谢您的帮助
答案 0 :(得分:0)
你创建了一个指针,但实际上并没有指向任何地方。实质上,Sub Macro2()
'
' Macro2 Macro
'
'
Sheets("Sheet1").Select
Rows("2:2").Select
Selection.EntireRow.Hidden = True
Rows("1:3").Select
Selection.Copy
Sheets("Sheet2").Select
Rows("1:3").Select
ActiveSheet.Paste
End Sub
是一个空指针。
来自the RefPtr
default constructor refernece:
之后它将为空,使用
buffer
将导致分段错误。
您需要使用 ->
Gsv::Buffer::create
函数显式创建指向的对象,例如
static