訂正
どちらかの引数を参照渡しにして.h(宣言)と.cpp(定義)に分ければ可能でした。
○Second.h
#pragma once
value struct First;
public value struct Second
{
void Print()
{
System::Diagnostics::Trace::WriteLine("Second: Print");
}
void OtherPrint(First% first);
};
○Second.cpp
#include "First.h"
void Second::OtherPrint(First% first)
{
first.Print();
}
○First.h
#pragma once
#include "Second.h"
public value struct First
{
void Print()
{
System::Diagnostics::Trace::WriteLine("First: Print");
}
void OtherPrint(Second second)
{
second.Print();
}
};