Когда я открываю свой файл в MSVS 2017, я получаю эту ошибку от intellisense:
Intellisense PCH Warning: Header stop not at file scope. An intellisense PCH file was not generated
Я не знаю, почему я получаю эту ошибку, я отключил предварительно скомпилированные заголовки, и у меня есть #pragma once
в начале. Конец файла находится в глобальной области видимости, а не в макросе. Я добавил ключ / clr в мои параметры компиляции. Мой код:
#pragma once
// v0.2
#include<string>
namespace marshal {
template <typename Out, typename In>
static Out cast(In val) {
return In::operator Out(val);
}
template<>
static std::string cast(System::String^ val) {
using namespace System::Runtime::InteropServices;
const char* chars =
(const char*)(Marshal::StringToHGlobalAnsi(val)).ToPointer();
std::string os = chars;
Marshal::FreeHGlobal(System::IntPtr((void*)chars));
return os;
}
template<>
static System::String^ cast(std::string val) {
return gcnew System::String(val.c_str());
}
}
Я получаю эту ошибку в последней скобке. (строка 27)