私は org babel で C++ を使用しており、複数をリストできるようにインクルードをフォーマットする方法を知りたいです。
これが私が試していることです(失敗します)
#+BEGIN_SRC C++ :includes <cstdio> :includes <iostream> :includes <string>
using namespace std;
printf("Hello ");
cout << "world\n";
#+END_SRC
この場合、printf
との両方cout
がこのスコープで宣言されていません。:includes <string>
ヘッダーから不要なものを削除でき、エラーが発生しないため、最後のカウントcout
のみのように見えます。:includes
複数のインクルードを区切り文字として何も使用せず、コンマとスペースを使用して同じ行にロードしようとしましたが、インクルード ディレクティブの末尾にある余分なトークンに関するエラーが常に発生します。ヘッダー行で機能する場合にも使用:includes+
してみましたが、機能しませんでした。
ドキュメントに次のように記載されているため、私がやろうとしていることは可能であると確信しています
:includes
(C & CC+ only) accepts either a single string name, or a list of names of files to #include in the execution of the code block
組織バージョン: 8.2.7-4-g880362-elpa
編集:
他のヘッダー引数は一緒に並べることができる (つまり:results raw drawer
、引き出しにフォーマットされていない結果が生成される) ため、これがバグである可能性が十分にあることに注意してください。を使用:include <cstdio> <iostream>
すると、行末に余分なトークンがあるというコンパイラ エラーが発生します#include <cstdio>
。
編集2:
実際には組織のバグであることが判明したため、提出されました。