c++ - 创建指向随机生成的 int 的指针列表
问题描述
我在生成随机数int*
并将其存储到list<int*>
.
我尝试了以下方法:
std::list<int*> generateInt(){
std::list<int*> randomInt;
int i = 0;
// initialize random seed
srand (time(NULL));
while (i < 5){
int* random = (int*)std::rand();
std::cout << "Random int generated: " << random << std::endl;
randomInt.push_back(random);
i++;
}
return randomInt;
}
但我得到如下编译器问题
error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
int* random = (int*)std::rand();
^
我不确定我是否在这里遗漏了一些重要的东西?任何帮助或建议将不胜感激。谢谢!
解决方案
我能想到的最简单的方法是:
std::vector<int> generateInt(){
std::vector<int> randomInt;
int i = 0;
// initialize random seed
// srand (time(NULL)); Let that be the first line in main()
while (i < 5){
int random = std::rand();
std::cout << "Random int generated: " << random << std::endl;
randomInt.push_back(random);
i++;
}
return randomInt;
}
没有必要引入指针或根本没有必要std::list
。
推荐阅读
- javascript - 防止在移动设备上输入时显示软件键盘
- php - 根据通过 POST 发送的变量返回 JSON
- php - 为什么 Tinybutstrong Mergeblock 给我错误:'item before ...既不是对象也不是数组。它的类型是 NULL..'
- python - Python Pandas GroupBy 聚合 Collect_List Collect_Set
- css - 元素在 Dialog Material UI React 中绝对定位
- shell - 用于解密文件的 Shell 脚本
- swift - DispatchQueue.main.async 中的代码块永远不会被执行
- ios - 无法使用 UIVIew 更新 | iOS 斯威夫特
- flutter - 从 Flutter 为 Firebase 身份验证设置自定义声明
- docker - 如果我在 AWS 实例上托管 docker webservice,是否需要在线数据库?