这里是 clang 和 clang-tidy 的新手。
我有一个具有这种结构的项目:
project/
- build/
- cmake/
- component1/
- src/
- someFile.cpp
- someFile2.cpp
- someFile.hpp
- someFile2.hpp
- component2/
- etc...
-
当我使用 clang-tidy 通过project/component1/以下命令查看所有文件时:clang-tidy project/component1/src/* -checks=-*,clang-analyzer-*,-clang-analyzer-alpha*
它最终抛出这样的错误:
$HOME/project/component1/src/someFile.cpp:18:10: error: 'project/component1/someFile.hpp' file not found [clang-diagnostic-error]
\#include "component1/someFile.hpp"
我创建了一个名为Transaction的对象,我在ArrayQueue中传递它.
这是Transaction类构造函数(我也有适当的setter和getter):
public class Transaction {
private int shares;
private int price;
public Transaction(int shares, int price) {
this.shares = shares;
this.price = price;
}
public Transaction(Object obj) {
shares = obj.getShares();
price = obj.getPrice();
}
}
Run Code Online (Sandbox Code Playgroud)
在第二个构造函数中,我想要一个场景,我可以在其中传递一个已经出列(ed)的不同Transaction对象,并从该事务中获取信息并将其转换为新事务或在我将其放回之前对其进行操作进入队列.但是当我编译它不喜欢这个.
这种可接受的编程习惯是将特定对象传递给它自己的对象的构造函数吗?或者这甚至可能吗?
我有一个程序,我正在尝试为类返回使用递归的数组中所有整数的总和.这是我迄今为止的计划:
public class SumOfArray {
private int[] a;
private int n;
private int result;
public int sumOfArray(int[] a) {
this.a = a;
n = a.length;
if (n == 0) // base case
result = 0;
else
result = a[n] + sumOfArray(a[n-1]);
return result;
} // End SumOfArray method
} // End SumOfArray Class
Run Code Online (Sandbox Code Playgroud)
但我相信,我得到的三个错误都是相关的,但我无法弄清楚为什么它会找到一种null:
SumOfArray.java:25: sumOfArray(int[]) in SumOfArray cannot be applied to (int)
result = a[n] + sumOfArray(a[n-1]);
^
SumOfArray.java:25: operator + cannot be applied to int,sumOfArray
result = a[n] …Run Code Online (Sandbox Code Playgroud) 我正在使用git的一个钩子commit-msg来验证某些格式和内容的提交消息。
但是,每当提交消息失败时,有时我会从消息中丢失一段或更多的文本。
我一直在尝试将其保存在某个地方,但是当他们尝试修复失败的提交消息时,我不确定如何将其还原给用户,只有最后一个好的提交消息才会显示。
以前有人处理过吗?您是如何解决的?
信息:我正在使用python脚本进行验证。
我在初学者Java编程课中有这个问题,我在书中找不到什么单一的'|' 意味着作为运营商.
问题是:
int j = 0;
if ((8 > 4) | (j++ == 7))
System.out.println("j = " + j);
Run Code Online (Sandbox Code Playgroud)
是j = 1?
解释为什么.
这本书解释了OR运算符"||" 有示例,但它没有显示这个单一的"|".操作员的意义是否在两者之间发生变化?
我正在尝试用Java创建自己的Stack类.我不确定我的代码在哪里出错了,但是如果我在程序控制台中输入一个实际的回文,它总是返回false.我的问题出在哪里?
这是我的palindrome客户端文件:(我的stack.java类可以在同一个程序文件夹中访问.)
public static void main(String args[]) {
//declare both stacks
Stack<String> fwd = new Stack<String>();
Stack<String> rev = new Stack<String>();
//instance variables
String st1;
boolean palindrome = true;
Scanner in = new Scanner(System.in);
System.out.println("Enter a String and I will check if it is a palindrome: \n");
st1 = in.nextLine();
// Read the data in forward order into the Stack
for (int i =0; i < st1.length(); i++) {
fwd.push(Character.toString(st1.charAt(i)));
}
// Read the same data in reverse order into …Run Code Online (Sandbox Code Playgroud) 我正在测试一个算术公式(例如((5-6)/(3 + 2)*34))是否具有平衡括号,但我检查左右两个parens的循环是否相等.我正在测试它只是在提示时输入"()"到控制台.
for (int i = 0; i < formula.size(); i++)
{
char c = formula.pop();
if (c == ')') {
right++;
break;
} else if (c == '(') {
left++;
break;
} else {
break;
}
}// End for loop
//System.out.println("There are " + left + " left parens, and " + right + " right parens.");
if (right == left)
System.out.println("The parentheses are balanced.");
else
System.out.println("The parentheses are NOT balanced.");
Run Code Online (Sandbox Code Playgroud)
我的左右变量初始化为0,我得到的输出是有1个右paren和0个左parens.
有什么想法吗?当我写它时,它听起来很正确.
更新:这是我的代码更新为使用switch case而不是if else.仍然提供相同的输出但..
for (int …Run Code Online (Sandbox Code Playgroud) 我正在优化一些代码.我可以改变一些代码,有些代码我不能改变.我正在查询数据库并根据作为新数据的json_decode()数组进行检查.我找到了差异,并根据需要在数据库中添加或删除.
更新:这是我的查询:
$ sQuery ="SELECT column1,column2 FROM my_table WHERE id = my_id;
UPDATE2:
好的,所以我的查询进入了一个我无法改变的自定义查询功能,这就是出现的结果:
mysqli_result Object
(
[current_field] => 0
[field_count] => 2
[lengths] =>
[num_rows] => 2
[type] => 0
)
Run Code Online (Sandbox Code Playgroud)
我想以这样的方式解析结果:
Array
(
[0] => Array
(
[column1] => value
)
[1] => Array
(
[column2] => value
)
)
Run Code Online (Sandbox Code Playgroud)
//结束更新2
我正在敲打我的头感觉愚蠢试图解析第一个数组以匹配第二个数组的组织.请帮忙?
这是我尝试过的:
while ($aRows = $aResults->fetch_assoc()) {
foreach ($aRows as $iKey => $sValue) {
if ($iKey % 2 == 0)
$aPreviousList[$iKey][] = $sValue;
if ($iKey % 2 …Run Code Online (Sandbox Code Playgroud)