相关疑难解决方法(0)

C++:不能从double*到int*的static_cast

当我尝试使用static_cast将double*转换为int*时,我收到以下错误:

invalid static_cast from type ‘double*’ to type ‘int*’
Run Code Online (Sandbox Code Playgroud)

这是代码:

#include <iostream>
int main()
{
        double* p = new double(2);
        int* r;

        r=static_cast<int*>(p);

        std::cout << *r << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我理解在double和int之间转换会有问题,但为什么在double*和int*之间转换有问题?

c++ casting static-cast

17
推荐指数
3
解决办法
2万
查看次数

将char数组转换为unsigned char*

有没有办法转换char[]unsigned char*

char buf[50] = "this is a test"; 
unsigned char* conbuf = // what should I add here
Run Code Online (Sandbox Code Playgroud)

c++ type-conversion

6
推荐指数
2
解决办法
1万
查看次数

将unsigned char [10]转换为QBytearray;

我已经看到了很多关于这方面的问题,但到目前为止还没有人对我有用.

我已经尝试了2个最常见的答案,但我得到了同样的错误.

只是一个 unsigned char buf[10];

这个,

QByteArray databuf;
databuf = QByteArray::fromRawData(buf, 10); 
Run Code Online (Sandbox Code Playgroud)

或这个,

QByteArray databuf;
databuf = QByteArray(buf, 10);
Run Code Online (Sandbox Code Playgroud)

给我同样的错误,

error: invalid conversion from 'unsigned char*' to 'const char*' [-fpermissive]

任何建议?

谢谢

c++ qt converter unsigned-char qbytearray

5
推荐指数
1
解决办法
2万
查看次数