我有一个有 2 个成员的结构,它依赖第一个成员来计算第二个成员的值。
struct SomeStruct
{
int memberA = 0;
int memberB = memberA + 5;
};
int main()
{
auto SomeLambda = []()
{
SomeStruct x;
x = SomeStruct{};
};
SomeStruct x;
x = SomeStruct{};
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想重新分配该结构以重新初始化它并重用变量名称。我可以在常规函数中执行此操作,但是如果我在 lambda 中执行此操作,则会出现以下编译错误。
main.cpp(12): error C2512: 'SomeStruct': no appropriate default constructor available
main.cpp(12): note: Invalid aggregate initialization
Run Code Online (Sandbox Code Playgroud)
如果我消除成员之间的相互依赖性,代码可以正常编译。
struct SomeStruct
{
int memberA = 0;
int memberB = 5;
};
Run Code Online (Sandbox Code Playgroud)
如果我更改 lambda 内的赋值以使用括号而不是大括号,这也允许代码编译。
SomeStruct x;
x = SomeStruct();
Run Code Online (Sandbox Code Playgroud)
然而 lambda 之外的赋值仍然使用大括号。 …
我有一个以特定图案布置的物体网格.单击对象将触发某些操作,例如显示有关该对象的信息或导航到另一个屏幕.
每个对象还具有与其他对象的连接.这些连接需要可点击,因为单击它们将显示有关该连接的更多信息.
以下示例显示了我的目标.网格中的每个蓝色圆圈都是可点击的对象,它们之间的每条红线都是可点击的连接.

我已经尝试将对象和连接作为Jbuttons存储在单个网格包布局中,并且已经取得了一些成功,因为连接是可点击的.
但是,连接跨越单个方向的多个单元格,Jbuttons展开以填充布局单元格.这导致连接的末端穿过物体的中心并在网格袋单元的边界处完成.
这是我的意思:

是否有一些更简单的方法来制作这种界面/以前有人这样做过吗?