0
Ich versuche, den WebRTC-Code in Visual Studio zu kompilieren und haben gegen diesen Fehler (von type_traits.h) gestartet. Der Code ist:Compiler Fehler C2228 in Visual Studio 2015
// Determines if the given class has zero-argument .data() and .size() methods
// whose return values are convertible to T* and size_t, respectively.
template <typename DS, typename T>
class HasDataAndSize {
private:
template <
typename C,
typename std::enable_if<
std::is_convertible<decltype(std::declval<C>().data()), T*>::value &&
std::is_convertible<decltype(std::declval<C>().size()), std::size_t>::value>::type* = nullptr>
static int Test(int);
template <typename>
static char Test(...);
public:
static constexpr bool value = std::is_same<decltype(Test<DS>(0)), int>::value;
};
Der Fehler ist:
Fehler C2228 links von '.data' muss Klasse/Struktur/Union
- haben Wie kann ich diese Vorlage neu schreiben, so dass es kompiliert mit dem Visual Studio 2015 Compiler?
Wie haben Sie oder (webrtc) diese Klasse verwendet? Wo der Fehler auftritt? –
Einfach den genauen Code einfügen (und '#include' hinzufügen) kompiliert in VS2015 gut. Vielleicht stört dich ein anderer Code? –
KompjoeFriek
Was könnte das tun? Einige Compileroptionen? – Sean