我可以有一个指向可分配数组组件中的项目的指针吗?

2024-03-11

我有一个用户定义的类型vector。在另一种类型中,我有一个可分配的向量数组。我想要一个指向这个可分配数组中的单个向量的指针。所以我想我会这样做:

type another_type
  type(vector),allocatable,target::my_vectors(:)
end type

and

type(vector),pointer::pointed_vec

但是当我编译时,编译器抱怨:

This attribute specification is not valid for a component definition statement.

我可以有一个指向可分配数组中单个项目的指针吗?是否可以?


只有变量或派生类型的实际实例才可以具有TARGET属性。因此,第二个类型定义中的可分配不能是目标,因为这只是类型应该是什么样子的描述,如果您愿意的话,可以是模板。

但是,您可以给出该类型的真实实例TARGET属性,然后使用适当声明的 Fortran 指针指向它的任何组成部分。

Editted:另一种选择,可能更多的是你所追求的,是给向量数组类型POINTER仅属性,这隐式使其成为合法的指针对象并可用于分配内存。您只需确保不重新分配指针(v在下面的示例中)在您使用它来分配内存之后,因为这样您就会发生泄漏。

PROGRAM so_pointtype

  IMPLICIT NONE

  TYPE vec
    INTEGER :: x = 2, y = 3
  END TYPE vec

  TYPE foo
    TYPE(vec),POINTER :: v(:)
  END TYPE foo

  TYPE(foo) :: z
  TYPE(vec),DIMENSION(:),POINTER :: p2 => NULL()

  ALLOCATE(z%v(3))

  PRINT*,z%v(:)

  p2 => z%v(:)

  PRINT*,p2

END PROGRAM so_pointtype
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以有一个指向可分配数组组件中的项目的指针吗? 的相关文章

  • OpenMP 因大型数组而崩溃

    我正在使用 Fortran 和 OpenMP 但当我尝试在存在大型数组时使用 OpenMP 并行化循环时 我不断遇到问题 例如 以下代码 PROGRAM main IMPLICIT NONE INTEGER PARAMETER NUMLOO
  • Fortran90 数组将空白值读取为 null

    我正在读取外部文本文件的数据 30 行 7 列 每行用 分隔 我缺少表示为 的值 当我将数据读入二维数组时 缺失值被 0 00 替换 但数据中也有 0 00 值 当我计算平均值时 计数 项目数 n 显示为计数 缺失值的数量 我如何动态选择缺
  • 可变格式

    我编写了一个程序来计算平方有限差分矩阵 您可以在其中输入行数 等于列数 gt 这存储在变量矩阵中 该程序运行良好 program fin diff matrix implicit none integer dimension allocat
  • 如何用好Fortran语句标签?

    我正在开发一个用 Fortran 95 编写的模型 我对此完全陌生 语句标签的概念似乎很奇怪 到目前为止我只找到了标签可以由作者任意决定的解释 通常以 10 为增量 除了更容易地找出语句的结尾位置之外 这些标签还有其他实际用途吗 以及关于如
  • 如何包装 fortran write 语句

    我想包装 fortran写语句 http software intel com sites products documentation doclib stdxe 2013 composerxe compiler fortran lin 在
  • 如何在 conda 中静音或抑制 gfortran (或 clang?)后端?

    我一直致力于构建一个非常特殊的 conda 环境 专为python and R与串扰使用rpy2 我想出的方法可以安装正确的R包如下 install main environment sh now date T echo Start Tim
  • 如何将mortran代码转换为fortran代码

    我有一些 Mortran 代码 来自 glmnet 我想阅读和编译 我知道在编译时 Mortran首先转换为Fortran 然后编译 如果有预处理器的话 如何安装 Mortran 预处理器 特别是 OS X 上的 Mortran3 我在以下
  • 如何在Fortran代码中将二维数组转换为一维数组?

    如何将 r i j 转换为一维数组以便可以轻松地对数字进行排序 program sort implicit none character CN 8 O 7 integer j iconf nconf integer i nbins t in
  • 如何格式化整数以仅具有所需的大小?

    我一直在尝试以下代码 program hello write i9 10 end program hello 并改变格式字符串 尝试使写入输出的字符串大小恰好满足表示整数所需的大小 但到目前为止我无法管理它 如何在 Fortran 中编写
  • Fortran gfortran linux 中的“分段错误(核心转储)”错误

    我正在创建一个程序 该程序将分析目录中的文件 fits 然后它将在另一个目录中创建另一个文件 txt 它只是一个转换器 当我尝试执行该程序 编译正常 时 它给了我一条错误消息 程序收到信号 SIGSEGV 分段错误 无效的内存引用 此错误的
  • forrt1:严重(170):程序异常 - 堆栈溢出

    并提前感谢您的帮助 我已经编译了一个程序 不是我编写的 它在 Mac 上运行得很好 但是当我尝试在 Windows 上执行该程序时 在程序开始执行后不久 我收到以下错误消息 forrt1 严重 170 程序异常 堆栈溢出 我不是 ifort
  • GO TO 语句 - Fortran 到 Matlab

    我一直在努力将此网格搜索代码从 Fortran 转换为 Matlab 但是我无法正确合并 GO TO 语句 我正在尝试使用 while 循环 但我认为我需要其他东西来结束搜索 任何帮助将不胜感激 vmax 1 0E 15 amax G 1
  • MPI_Type_Create_Hindexed_Block 生成派生数据类型的错误范围

    使用Fortran 我尝试为动态分配的结构构建派生数据类型 但它得到了新类型的错误范围 代码如下 PROGRAM MAIN IMPLICIT NONE INCLUDE mpif h INTEGER I INTEGER MYID NUMPRO
  • Fortran 递归分段错误

    我必须设计并实现一个 Fortran 例程来确定方格上簇的大小 并且递归地编写子例程似乎非常方便 然而 每当我的晶格大小超过某个值 大约 200 边 时 子例程就会始终出现段错误 这是我的集群检测例程 RECURSIVE SUBROUTIN
  • Fortran 意图(inout)与省略意图

    良好的实践表明 Fortran 中的子例程参数每个都应具有指定的意图 即intent in intent out or intent inout 如上所述这个问题 https stackoverflow com questions 1011
  • 在 fortran 子例程中包含 c/c++ 头文件

    我有一个用 C C 编写的库 其开发人员声明该库具有 Fortran 接口 该接口将被启用 包括头文件 h 并调用经典子例程 我想编译我的 Fortran 程序并链接该库 该库已经过测试并且可以工作 这是主程序 Main program I
  • 使用 Cygwin64 的 Fortran MPI

    我正在使用 Codeblock IDE 编写和编译我的 Fortran 程序 现在我想将 MPI 包含到我的 GNU Fortran 编译器中 在遵循 GNU GCC 编译器的一些指南之后 我突然想到我需要为 MPICH2 设置以下内容 有
  • 带有数字/标签的 Fortran IF 语句而不是另一个语句

    这段 Fortran 代码的含义是什么 IF J1 3 20 20 21 21 J1 J1 3 20 IF J2 3 22 22 23 23 J2 J2 3 22 CONTINUE 我在旧项目中看到过 我不知道这个带有数字 标签 的 IF
  • 派生类型数组:选择条目

    目前在我的代码中我有一个二维数组 integer allocatable elements 并定义一些常量 integer parameter TYP 1 integer parameter WIDTH 2 integer paramete
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统

随机推荐

  • 将自定义视图添加到警报视图

    我有这样的问题 我想在警报视图中显示自定义视图 所以我创建了一个单独的 xib 文件并设计了我的界面 并为其实现了该类 但是当我应用下面的代码时 它给了我一个错误 这是代码 UIAlertView alert UIAlertView all
  • 如何在编辑模式下重新格式化自定义 UITableViewCell 以适应删除控件?

    我有一个自定义 UITableViewCell 其中包含一个 UILabel 其中显示可变数量的文本 单元格的高度是动态计算的 以适应文本量 问题是 UILabel 文本在编辑模式 删除 期间没有重新格式化 如以下屏幕截图所示 我需要使用自
  • Enterprise Java 实体应该是愚蠢的吗?

    在我们遗留的 Java EE 应用程序中 有大量值对象 VO 类 它们通常只包含 getter 和 setter 也许equals and hashCode 这些 通常 是要保存在持久性存储中的实体 根据记录 我们的应用程序没有 EJB 尽
  • 使用 JFreeChart 和 Apache PDFBOX 生成图表

    我需要使用生成图表自由图表 http www jfree org jfreechart 然后使用将它们导出为 PDF阿帕奇PDFBOX http pdfbox apache org 我不想使用 iText 因为它不能在专有软件中使用 我搜索
  • VSCode 亮点

    当我将本地函数导入 vscode 时 其中一些函数会正确突出显示 并允许您使用 CTRL LMB 来引导您找到它们 但其中一些函数却没有正确突出显示 这是否是有原因的 这适用于所有主题 而不仅仅是我正在使用的主题 此外 所有进口功能均可用
  • 创建 Word 文档并从 .NET 应用程序添加图像

    我需要一种生成Word文档 从模板或其他东西 并在特定位置插入图像的方法 有人对执行此操作的最佳方法有任何指示吗 几年前 我参与了一个使用 NET 1 1中的办公自动化的项目 效果确实差得难以形容 我假设 OA 要么得到了改进 要么被更好的
  • Jasper iReport Designer 中的表

    我在 Jasper iReport Designer 中创建了一个表 执行报表时 会多次显示同一个表 虽然只使用了单个数据集和表格 请指导 Thanks 尝试将表格组件放入摘要区域 因为详细信息区域会重复数据集中每一行的记录 如果确实需要将
  • 你最喜欢的 Python 模拟库是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何设置 javac 的 PATH 变量以便我可以手动编译我的 .java 作品?

    这是我的驱动器上的地址 C Program Files Java jdk1 6 0 18 bin 我将如何设置路径变量 以便我可以进入命令窗口 windowskey r cmd 并能够键入以下内容 javac TestApp java 我使
  • 在 Windows 7 上使用 XAudio2 进行构建

    我正在尝试使用以下说明来构建一些使用 XAudio2 并在 Windows 7 上运行的代码 http msdn microsoft com en us library windows desktop ee663275 28v vs 85
  • Android Mapbox SDK v10:归因位置;用户界面设置

    如何调整徽标和属性com mapbox mapboxsdk maps MapView 在较旧的 SDK v9 中 可以通过 XML 属性 或通过以编程方式更改 UiSettings 简单地设置 UiSettings mapbox mapbo
  • 旅行商问题,2-opt算法C#实现

    有人能给我一个旅行商问题的 2 opt 算法的代码示例吗 目前 我使用最近邻来查找路径 但这种方法远非完美 经过一些研究 我发现 2 opt 算法可以将该路径纠正到可接受的水平 我找到了一些示例应用程序 但没有源代码 所以我无聊就写了 它l
  • 在 iOS 中创建 JsonString

    我是 iOS 新手 我创建了一个JSON NSDictionary像这样 NSArray keys NSArray arrayWithObjects User Password nil NSArray objects NSArray arr
  • 如何在 django 视图中使用 celery 存储延迟调用的结果?

    我已遵循以下指南http celeryq org docs django celery getting started first steps with django html http celeryq org docs django ce
  • 在 python 中,在下一个之前完成声音?

    在Python pygame中 我希望重复某个wav文件 由pygame mixer Sound foo wav play 循环播放 并让它们一个接一个地播放 最好是在最后一个完成后或默认延迟 1500 毫秒有效 到目前为止 解释一下 我有
  • ruby 中获取可用磁盘空间

    使用 ruby 获取磁盘空间信息的最佳方法是什么 我更喜欢纯红宝石解决方案 如果不可能 即使有额外的 gems 它也可以使用标准 ubuntu 桌面安装中可用的任何命令将信息解析为 ruby 你可以使用sys文件系统 https githu
  • 使用 MediaSource api 在 safari 上流式传输 HLS

    我想使用媒体源扩展来流式传输 HLS 片段 我已经尝试使用 mpeg dash 片段 使用 MP4Box 生成 和媒体源扩展进行相同的操作 var mediaSource new window MediaSource mediaSource
  • R - 从 data.frames 列表中提取信息

    我有两个需求 都连接到类似于下面可重现的数据集 我有一个包含 18 个实体的列表 每个实体由 17 19 个 data frames 的列表组成 可重现的数据集如下 有矩阵而不是 data frames 但我不认为这有什么区别 test l
  • 如何获取 Base64 编码字符串形式的 PIL 图像

    在过去的几个小时里 我一直在尝试创建图像的 Base64 字符串 但它不起作用 ship color 0 100 100 255 img Image new RGBA 100 100 for i in range 20 for j in r
  • 我可以有一个指向可分配数组组件中的项目的指针吗?

    我有一个用户定义的类型vector 在另一种类型中 我有一个可分配的向量数组 我想要一个指向这个可分配数组中的单个向量的指针 所以我想我会这样做 type another type type vector allocatable targe