shared_ptr живет в <memory>
, а не <functional>
.Сделайте так, чтобы это выглядело примерно так:
#pragma managed(push, off)
#include <memory>
#include "yourUnmanagedLibrary.h"
#pragma managed(pop)
Второй вопрос (задайте только один, пожалуйста):
using namespace System::Collections::Generic;
...
SortedDictionary<int, String^>^ coll = gcnew SortedDictionary<int, String^>;
coll->Add(1, "one");
coll->Add(0, "zero");
for each (String^ value in coll->Values) {
Console::WriteLine(value);
}