我一直尝试在 Ubuntu 18 中使用 VS Code 的 Arduino 扩展,但是当我执行初始化命令时,收到错误“找不到 Arduino IDE。请在用户设置中指定 arduino.path”。因此,我写下了执行命令“whereis arduino”时出现的每条路径,我还尝试将框留空(理论上这会使 VS Code 搜索 IDE)并重新安装 Arduino IDE 和 VS Code 几次,没有任何结果。有人知道这个问题的可能解决方法吗?
在检查如何实现递归 lambda 函数时,我偶然发现了这个解决方案
#include <iostream>
using namespace std;
int main() {
auto fr = [] (int n, auto&& fr) {
if (n < 2)
return n;
else
return fr(n-1,fr) + fr(n-2,fr);
};
auto fib = [&fr] (int n) {return fr(n,fr);};
int n = 10;
cout << "fib(" << n << ") = " << fib(n) << endl;
}
Run Code Online (Sandbox Code Playgroud)
效果很好。然而,尝试一些微妙的改变,例如
auto fr = [] (int n, auto&& fr) {
return n < 2 ? n : fr(n-1,fr) + fr(n-2,fr); …Run Code Online (Sandbox Code Playgroud) 当我从 IntelliJ 编译我的项目时,没有任何问题,我的程序运行顺利,但是当我尝试使用 javac 从终端编译它时,警告“注意:Victor/presentation/TableControllerMenu.java 使用未经检查或不安全的操作。 ” 弹出,当我尝试执行它时,出现错误“线程“main”java.awt.IllegalComponentStateException 中的异常:contentPane 无法设置为 null。”。我猜想 IntelliJ 没有在文件中写入对象 contentPane 的初始化代码,这导致 javac 崩溃。我尝试将选项“文件”->“设置”->“GUI 设计器”->“生成 GUI”从“二进制源文件”更改为“Java 源代码”,但这在编译时产生了更多错误...
这是 GUI 的代码,告诉我是否需要更多代码:
package Victor.presentation;
import Victor.domain.TCPresPersInterface;
import Victor.persistence.TCRow;
import Victor.persistence.TCUtilities;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
public class TableControllerMenu extends JFrame {
static private TCPresPersInterface persInterface;
private DefaultTableModel newModel;
private JTableHeader newHeader;
private JPanel mainPanel;
private JButton rowEditorButton;
private JButton columnCastingButton;
private JButton manageTablesButton;
private JButton columnEditorButton;
private JButton basicUtilitiesButton;
private JButton fileHandlerButton; …Run Code Online (Sandbox Code Playgroud)