尝试在模板C ++中返回变量时出错

用户名

因此,即时通讯试图在Windows中获取剪贴板的内容,因为它可以是使用模板获取的任何类型的即时通讯,但是在尝试构建时,Visual Studio 2013 RC发送此错误:

Error   1   error C2440: 'return' : cannot convert from 'char *' to 'double'
Error   2   error C2440: 'return' : cannot convert from 'double' to 'char *'    
Error   3   error C2440: 'return' : cannot convert from 'int' to 'char *'   
Warning 4   warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data    
Error   5   error C2440: 'return' : cannot convert from 'char *' to 'int'

这是代码:

template<typename tn>
tn GetClipboardContents()
{
    HANDLE h_clip;
    double d_clip;
    int i_clip;
    char* str_clip;
    if (OpenClipboard(NULL))
    {
        h_clip = GetClipboardData(CF_TEXT);
        if (typeid(tn).name() == "double")
        {
            d_clip = atof((char*)h_clip);
        }else if (typeid(tn).name() == "int"){
            i_clip = atoi((char*)h_clip);
        }else{
            str_clip = (char*)h_clip;
        }
        CloseClipboard();
    }

    if (typeid(tn).name() == "double")
        return d_clip;
    else if (typeid(tn).name() == "int")
        return i_clip;
    else
        return str_clip;
}

提前致谢。

千兆网

您拥有多个返回不同类型的返回路径。您将需要使用模板重载,类似于以下内容:

template <typename tn>
tn GetClipboardContents();


template <>
double GetClipboardContents<double>()
{
    // Add double implementation here
}

template <>
int GetClipboardContents<int>()
{
    // Add int implementation here
}

对其他类型重复

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

确定C ++ 11中的通用返回类型时出错

尝试在Python 3中使用C ++类时出错

尝试在Vue中建立电子邮件链接时编译模板时出错

尝试从C ++中的构造函数继承自类时出错

使用out返回多个变量,似乎可以正常工作,但是在尝试输出时出错

将多个值返回到C中的线程时出错

尝试将C ++ 11代码转换为C ++ 03时默认函数模板参数出错

尝试将C#中的变量插入MySQL时出错

尝试在C ++中创建简单线程时出错

尝试在类的构造函数中复制变量时出错

读取C中的环境变量时出错

尝试在for循环内访问变量时出错

尝试对PHP进行ajax POST调用以将SQL查询变量返回给jquery时出错

尝试在Laravel中返回重定向时出错

尝试在C中初始化结构时出错

尝试在 C# 中创建 Excel 文件时出错

尝试从数据库中获取并在 http 响应中返回结果时出错

尝试运行默认 C# HSPI A 模板时出错

C++:'char*' vs 'char',尝试分配变量时出错

尝试绑定多个 Meteor 模板事件时出错

在java中返回变量时出错

AngularJs DateTimepicker - 尝试在 pug 模板中包含 .js.map 文件时出错

尝试插入变量时出错

尝试返回指向在头文件中向前声明的结构的指针时出错

尝试从 C# 中的 Json 文件读取时出错

Mongoose + NodeJS - 尝试返回集合中的文档数时出错

尝试替换构造函数变量时出错

C ++模板result_of_t在尝试查找函数的返回值时没有名为'type'的类型

尝试返回扩展类的 InstanceType 时出错