我确定我忽略了一些基本的东西,但我无法理解。我有这段代码:
OnButton1Click
这些前5行在error: smpp_socket does not name a type
函数内部工作正常,但只要我将它们移到外面(因为我不想在函数结束时关闭连接),我得到< / p>
smpp_socket->connect(endpoint);
指向std::shared_ptr<tcp::socket>
行。
但直接在上面的行将类型命名为onBackPressed()
,不是吗?
我做错了什么?
答案 0 :(得分:2)
命名空间范围只能包含声明,smpp_socket->connect(endpoint);
不是声明 - 它是一个声明。
C ++标准部分[basic.link] / 1读取:
程序由一个或多个链接在一起的翻译单元(第2条)组成。翻译单元由一系列声明组成。
答案 1 :(得分:2)
带错误的行在全局范围内,它不是声明或类/方法/函数定义 - 它是函数调用。你必须在一个函数中做到这一点。