码:
public class Foo {
static void test(String s){
System.out.println("String called");
}
static void test(int s){
System.out.println("int called");
}
public static void main(String[] args) throws Exception {
test(5>8? 5:8); // Line 1
test(5>8? "he":"ha"); // Line 2
test(5>8? 5:"ha"); // Line 3
System.out.println(5<8? 5:"ha"); //Line 4
}
}
Run Code Online (Sandbox Code Playgroud)
当我执行此代码时,出现以下错误 Line 3
Foo.java:24: error: no suitable method found for test(INT#1)
test(5>8? 5:"ha"); // Line 3
^
Run Code Online (Sandbox Code Playgroud)
在三元运算符中使用类似的类型不会产生错误。但是使用不同的类型只会给方法调用带来错误,test(5>8? 5:"ha");但对调用有效System.out.println(5<8? 5:"ha");
当我添加另一个重载的方法时static void test(Object s){},然后进行//Line 3编译。 …
我正在创建一个小程序来进行计费。我正在尝试访问在另一个源文件中的头文件中声明的静态成员 static double total 。Java 是我的第一门语言,因此在用 C++ 对其进行分类时遇到了麻烦。
当我尝试时,出现以下错误。
bill.cpp(16):错误 C2655:'BillItem::total':定义或重新声明在当前范围内非法
bill.h(8):注意:参见'BillItem::total'的声明
bill.cpp(16): 错误 C2086: 'double BillItem::total': 重新定义
bill.h(8): 注意:见“total”的声明
我怎样才能使它可用。谷歌搜索错误没有帮助。
我想要实现的是在一个结构中创建一个静态双变量,这对所有结构实例都是通用的。我需要在另一个源文件中访问这个静态变量,我将在其中进行计算。
比尔.h
#pragma once
struct BillItem
{
public:
static double total;
int quantity;
double subTotal;
};
Run Code Online (Sandbox Code Playgroud)
比尔.cpp
#include<iostream>
#include "Item.h"
#include "Bill.h"
void createBill() {
double BillItem::total = 10;
cout << BillItem::total << endl;
}
Run Code Online (Sandbox Code Playgroud)
主代码.cpp
#include <iostream>
#include "Bill.h"
int main() {
createBill();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我有一个名为“items.dat”的文件,在订单 itemID、itemPrice 和 itemName 中有以下内容。
item0001 500.00 item1 name1 with spaces
item0002 500.00 item2 name2 with spaces
item0003 500.00 item3 name3 with spaces
Run Code Online (Sandbox Code Playgroud)
我编写了以下代码来读取数据并将其存储在结构中。
#include <fstream>
#include <iostream>
#include <string>
#include <cstdlib>
#include <iomanip>
using namespace std;
struct item {
string name;
string code;
double price;
};
item items[10];
void initializeItem(item tmpItem[], string dataFile);
int main() {
initializeItem(items, "items.dat");
cout << items[0].name << endl;
cout << items[0].name.at(1) << endl;
return 0;
}
void initializeItem(item tmpItem[], string dataFile) {
ifstream fileRead(dataFile); …Run Code Online (Sandbox Code Playgroud)