gpt4 book ai didi

c++ - 使用模板类的 Cast 运算符

转载 作者:行者123 更新时间:2023-11-30 01:26:07 26 4
gpt4 key购买 nike

我想重载一个转换运算符,我有以下代码:

template <typename _T>
class CTest
{
public :
_T data;

CTest(_T _data) : data(_data) {}
~CTest() {}

operator _T(){ return data; }
};

和 MS Visual Studio 2005,给我以下错误:

warning C4003: not enough actual parameters for macro 'T' warning C4003: not enough actual parameters for macro '_T' error C2833: 'operator L' is not a recognized operator or type see reference to class template instantiation 'CTest<_T>' being compiled error C2059: syntax error : 'newline' error C2334: unexpected token(s) preceding '{'; skipping apparent function body error C2833: 'operator L' is not a recognized operator or type

如何正确声明operator _T()

最佳答案

_T 是一个 WINAPI 宏(参见 Generic-Text Mappings in Tchar.hShould I use _T or _TEXT on C++ string literals? ):将 _T 更改为 T

关于c++ - 使用模板类的 Cast 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11040831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com