<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Fortran</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Forum d'entraide sur la programmation en Fortran. Avant de poster -> FAQ Fortran]]></description>
		<language>fr</language>
		<lastBuildDate>Mon, 21 Sep 2026 10:39:56 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Fortran</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>F90 - problème compréhension fonction retournant un array</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179427&amp;goto=newpost</link>
			<pubDate>Tue, 23 Sep 2025 09:00:09 GMT</pubDate>
			<description>Bonjour, 
 
Je suis assez...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis assez mauvais en Fortran. Je cherche à coder une fonction qui retourne un array, sans succès. J'ai bien entendu cherché des exemples sur internet, mais là encore sans succès. Ci-dessous l'un de ces exemples qui est donc sensé fonctionner :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">real</span> <span style="color: #0000ff;">function</span> times2<span class="br0">&#40;</span>x,n<span class="br0">&#41;</span> <span style="color: #0000ff;">result</span><span class="br0">&#40;</span>y<span class="br0">&#41;</span>
    <span style="color: #0000ff;">real</span>, <span style="color: #0000ff;">intent</span><span class="br0">&#40;</span><span style="color: #0000ff;">in</span><span class="br0">&#41;</span> :: x<span class="br0">&#40;</span>n<span class="br0">&#41;</span>
    <span style="color: #0000ff;">integer</span>, <span style="color: #0000ff;">intent</span><span class="br0">&#40;</span><span style="color: #0000ff;">in</span><span class="br0">&#41;</span> :: n
    <span style="color: #0000ff;">real</span>  :: y<span class="br0">&#40;</span>n<span class="br0">&#41;</span>
&nbsp;
    y = <span style="color: #cc66cc;">2</span>*x
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">function</span></pre></td></tr></table></code><hr />
</div>Je me perds dans les différentes façons de déclarer les variables et les fonctions, alors que peut-être le soucis est ailleurs. Je code donc en Fortran 90. Mon compilateur est Intel Fortran XE 14.0.4.237. Le fichier de debug généré est le suivant :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
&nbsp;
Compiling with Intel<span class="br0">&#40;</span>R<span class="br0">&#41;</span> Visual Fortran Compiler XE <span style="color: #cc66cc;">14.0</span>.<span style="color: #cc66cc;">4.237</span> <span class="br0">&#91;</span>IA-<span style="color: #cc66cc;">32</span><span class="br0">&#93;</span>...
ifort /nologo /debug:full /Od /warn:interfaces /<span style="color: #0000ff;">module</span>:<span style="color: #FF0000;">&quot;Debug<span style="color: #800000;">\\</span>&quot;</span> /object:<span style="color: #FF0000;">&quot;Debug<span style="color: #800000;">\\</span>&quot;</span> /Fd<span style="color: #FF0000;">&quot;Debug<span style="color: #800000;">\v</span>c100.pdb&quot;</span> /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qvc10 /Qlocation,link,<span style="color: #FF0000;">&quot;c:<span style="color: #800000;">\P</span>rogram Files (x86)<span style="color: #800000;">\M</span>icrosoft Visual Studio 10.0<span style="color: #800000;">\I</span>ntel Fortran<span style="color: #800000;">\M</span>icrosoft Files<span style="color: #800000;">\V</span>C<span style="color: #800000;">\\</span>bin&quot;</span> <span style="color: #FF0000;">&quot;C:<span style="color: #800000;">\U</span>sers<span style="color: #800000;">\c</span>c<span style="color: #800000;">\D</span>ocuments<span style="color: #800000;">\R</span>etD<span style="color: #800000;">\D</span>P_Fortran<span style="color: #800000;">\T</span>ests_Math<span style="color: #800000;">\O</span>perations_matricielles<span style="color: #800000;">\C</span>ode_Source<span style="color: #800000;">\M</span>od_Thruster.f90&quot;</span>
<span style="color: #808080;">C:\Users\cc\Documents\RetD\DP_Fortran\Tests_Math\Operations_matricielles\Code_Source\Mod_Thruster.f90(55): error #6419: This scalar name is invalid in this context.   [Y]</span>
            <span style="color: #0000ff;">real</span>  :: y<span class="br0">&#40;</span>n<span class="br0">&#41;</span>
---------------------^
<span style="color: #808080;">C:\Users\cc\Documents\RetD\DP_Fortran\Tests_Math\Operations_matricielles\Code_Source\Mod_Thruster.f90(7): error #6404: This name does not have a type, and must have an explicit type.   [GET_THRUST]</span>
    <span style="color: #0000ff;">public</span> :: get_thrust
--------------^
<span style="color: #808080;">C:\Users\cc\Documents\RetD\DP_Fortran\Tests_Math\Operations_matricielles\Code_Source\Mod_Thruster.f90(57): error #6366: The shapes of the array expressions do not conform.   [Y]</span>
            y = <span style="color: #cc66cc;">2</span>*x
------------^
compilation aborted for C:\Users\cc\Documents\RetD\DP_Fortran\Tests_Math\Operations_matricielles\Code_Source\Mod_Thruster.f90 <span class="br0">&#40;</span>code <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
&nbsp;
ifort /nologo /debug:full /Od /warn:interfaces /<span style="color: #0000ff;">module</span>:<span style="color: #FF0000;">&quot;Debug<span style="color: #800000;">\\</span>&quot;</span> /object:<span style="color: #FF0000;">&quot;Debug<span style="color: #800000;">\\</span>&quot;</span> /Fd<span style="color: #FF0000;">&quot;Debug<span style="color: #800000;">\v</span>c100.pdb&quot;</span> /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qvc10 /Qlocation,link,<span style="color: #FF0000;">&quot;c:<span style="color: #800000;">\P</span>rogram Files (x86)<span style="color: #800000;">\M</span>icrosoft Visual Studio 10.0<span style="color: #800000;">\I</span>ntel Fortran<span style="color: #800000;">\M</span>icrosoft Files<span style="color: #800000;">\V</span>C<span style="color: #800000;">\\</span>bin&quot;</span> <span style="color: #FF0000;">&quot;C:<span style="color: #800000;">\U</span>sers<span style="color: #800000;">\c</span>c<span style="color: #800000;">\D</span>ocuments<span style="color: #800000;">\R</span>etD<span style="color: #800000;">\D</span>P_Fortran<span style="color: #800000;">\T</span>ests_Math<span style="color: #800000;">\O</span>perations_matricielles<span style="color: #800000;">\C</span>ode_Source<span style="color: #800000;">\d</span>pl_dll.f90&quot;</span>
<span style="color: #808080;">C:\Users\cc\Documents\RetD\DP_Fortran\Tests_Math\Operations_matricielles\Code_Source\dpl_dll.f90(138): error #5082: Syntax error, found ',' when expecting one of: &lt;END-OF-STATEMENT&gt; ;</span>
            thrust_arr<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> = <span style="color: #cc66cc;">5.0d0</span>, thrust_arr<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> = <span style="color: #cc66cc;">11.0d0</span>
---------------------------------^
<span style="color: #808080;">C:\Users\cc\Documents\RetD\DP_Fortran\Tests_Math\Operations_matricielles\Code_Source\dpl_dll.f90(140): error #6404: This name does not have a type, and must have an explicit type.   [TIMES2]</span>
            res = times2<span class="br0">&#40;</span>thrust_arr, <span style="color: #cc66cc;">3</span><span class="br0">&#41;</span>
------------------^
compilation aborted for C:\Users\cc\Documents\RetD\DP_Fortran\Tests_Math\Operations_matricielles\Code_Source\dpl_dll.f90 <span class="br0">&#40;</span>code <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
&nbsp;
&nbsp;
dpl_dll - <span style="color: #cc66cc;">7</span> <span style="color: #0080ff;">error</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span>, <span style="color: #cc66cc;">0</span> warning<span class="br0">&#40;</span>s<span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div>J'ai essayé un peu tout ce qui me passe par la tête : sans <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">result</span><span class="br0">&#40;</span><span class="br0">&#41;</span></span>, déclarer ou pas le résultat dans la fonction, ajouter le type ou pas devant <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">function</span></span>, etc.. <br />
<br />
Est-ce que c'est moi qui déconne ou c'est un problème de compilation ? Sachant que je parviens sans soucis à faire une fonction similaire mais qui renvoi un scalaire à la place.<br />
<br />
J</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f157/general-developpement/algorithme-mathematiques/programmation-parallele-calcul-scientifique-haute-performance-hpc/fortran/">Fortran</category>
			<dc:creator>Julien N</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179427/general-developpement/algorithme-mathematiques/programmation-parallele-calcul-scientifique-haute-performance-hpc/fortran/f90-probleme-comprehension-fonction-retournant-array/</guid>
		</item>
	</channel>
</rss>
