Wie soll ich das denn jetzt Handeln?

Hallo. Ich hoffe die Programmiererschaft ist aus ihrem kleinem Schläfchen erwacht und kann mir hier etwas weiterhelfen. Ich mache (immernoch) eine Coding-Challenge. Dachte sie ist Lustig, langsam wird sie Sinnlos .__.

Erstmal die zurzeitige Stage:

An sich wurde alles gesagt. Das Problem mit den max. 10 Packages hab ich bereits gelöst. Nun bin ich aber bei der byte abfrage ... Die ist dann schon Lustiger. Hier mal meine add Funktion.

void add(Package package) {
  // Check if package already in map.
  std::list < std::string > info_list({
    package.name,
    std::to_string(package.versionMajor),
    std::to_string(package.versionMinor)
  });
  if (saved_packages.count(info_list)) {
    return;
  }
  uint32_t used_size = 0;
  for (it_helper = saved_packages.begin(); it_helper != saved_packages.end(); it_helper++) {
    used_size += it_helper -> second.size;
  }
  // INFO: saved_packages.size() starts (idk why) by 2. So 12 means 10 packages.
  if (saved_packages.size() >= 12 && used_size >= 100) {
    throw std::exception();
  }
  saved_packages.insert(std::pair < std::list < std::string > , Package > (info_list, package));
}

Simpel ... Naja. Also das && falsch ist, dass weiß ich. Wollte es nur damit mal ausprobieren. Also bei "&&" kommt folgendes raus:
"The add method threw no exception despite exceeding the limit of 10 packages." und es macht Sinn. Schließlich war das Maximum erreicht, die bytes aber noch frei. Dennoch sollte man es ja nicht zulassen. Wenn ich jetzt aber || mache:

"The add method threw an exception before reaching the limit of 100 bytes." was auch Sinn macht. Denn die 10 Packete wurden vermutlich gesendet, bevor die 100 Bytes erreicht waren. Nun ... Was jetzt? Ich hab tatsächlich keine einzige Idee gerade, währe dankbar für bisschen Hilfe. Danke im Vorraus und lg.

Bild zum Beitrag
PC, Computer, Internet, Software, Technik, Programmierer, programmieren, Cplusplus, CPP, Programmiersprache, Softwareentwicklung, Visual Studio, Challenge
Kamera Movement in Unity?

Hallo,

ich bin relativ neu in Unity und bin gerade dabei, eine Szene zu erstellen, wobei man die Kamera, wenn man die rechte Maustaste gedrückt hält, verschieben kann.

Die Szene ist isotropisch, weshalb die Kamera auch orthographisch ist.

[SerializeField] private Camera cam;
private Vector3 dragOrigin = Vector3.zero;
public float speed = 10;
    
void Update(){
    if(Input.GetMouseButtonDown(1)){
        dragOrigin = cam.ScreenToWorldPoint(Input.mousePosition);
    }
    if(Input.GetMouseButton(1)){
        Vector3 difference = cam.ScreenToWorldPoint(Input.mousePosition) - cam.transform.position;
        Vector3 targetPosition = dragOrigin - difference;
            
        cam.transform.position = Vector3.Lerp(cam.transform.position, targetPosition, speed * Time.deltaTime);
    }
}

Das funktioniert eigentlich auch, nur gibt es das Problem, dass sich der y-Wert der Kamera auch ändert. Die sollte immer auf dem gleichen y-Wert bleiben.

Wenn ich

targetPosition.y = cam.transform.position.y;

schreibe, bleibt zwar die Kamera auf der gleichen y-Position, aber die Kamera verschiebt sich nach oben und unten langsamer.

Wie kann ich den Code umschreiben, dass sich bei der Kamera nur die x-/ und z-Position ändert und das Verschieben in allen Richtungen gleich schnell geht?

Danke im Voraus.

Software, Kamera, programmieren, C Sharp, Visual Studio, Unity, Game-Developement
Warum kommt manchmal null raus?

Hallo. Ich mache gerade eine App, die den Standort des Users finden soll. Manchmal klappt es und manchmal kommt null raus. Hier mal der Code:

lManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationTracker);
lManager.requestSingleUpdate(LocationManager.GPS_PROVIDER, locationTracker, null);
userLocation = locationTracker.lastUserLocation;

Location gpsLocation = null;
Location networkLocation = null;
Location passiveLocation = null;

try {
    gpsLocation = lManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
} catch (SecurityException e) {
    Toast.makeText(getActivity(), "Error: SecurityException. (" + e + ")", Toast.LENGTH_SHORT).show();
}

try {
    networkLocation = lManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
} catch (SecurityException e) {
    Toast.makeText(getActivity(), "Error: SecurityException. (" + e + ")", Toast.LENGTH_SHORT).show();
}

try {
    passiveLocation = lManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
} catch (SecurityException e) {
    Toast.makeText(getActivity(), "Error: SecurityException. (" + e + ")", Toast.LENGTH_SHORT).show();
}

if (gpsLocation != null) {
    userLocation = gpsLocation;
} else if (networkLocation != null) {
    userLocation = networkLocation;
} else if (passiveLocation != null) {
    userLocation = passiveLocation;
} else if(locationTracker.lastUserLocation != null) {
    Toast.makeText(getActivity(), "Using last known location", Toast.LENGTH_SHORT).show();
    userLocation = locationTracker.lastUserLocation;
} else {
    Toast.makeText(getActivity(), "Error: Unable to get your location. Try Again.", Toast.LENGTH_SHORT).show();
    userLocation = null;
}

Das ist der Code, der onClick auf einen Button ausgeführt wird. in meiner onViewCreate Methode hab ich außerdem noch:

lManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
if(getActivity().checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_GRANTED) {
    lManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationTracker);
}

Was ich nur nicht verstehe, wieso genau kommt da denn manchmal null raus? Ich sende doch eine request damit der Standort geupdatet wird. Jemand vielleicht eine Idee?

Danke im Voraus und lg.

P.S.:

Getestet auf ZTE Blade V10 (Android 9, API Level 29). Die ganze App ist auf Level 21.

PC, Computer, Handy, Internet, Software, App, Technik, programmieren, Java, GPS, Android, GPS Ortung, Softwareentwicklung, Technologie
⚠️ Antivirenprogramm BETRUG?
Was ist ein Antivirenprogramm oder Virenscanner?
Antivirenprogramm ist ein Schutzprogramm für Computer und Mobilgeräte vor Viren, Würmern und weiteren Bedrohungen
Ein  AntivirenprogrammVirenscanner oder  Virenschutz-Programm (Abkürzung: AV) ist eine  Software, die  Schadprogramme wie z. B.  ComputervirenComputerwürmer oder  Trojanische Pferde aufspüren, blockieren und gegebenenfalls beseitigen soll.
https://de.m.wikipedia.org/wiki/Antivirenprogramm

Habe hier mal im Playstore einen der #1 berühmtesten und besten Antivirenscanner bewertet - und siehe da, was für eine Antwort ich bekomme!

Ps. Meine erste Bewertung (im Screenshot nicht zu sehen!), die ähnlich wie die in diesem Screenshot, wurde beantwortet und danach gelöscht. Also dass mir der Entwickler unterstellt ich lüge, stimmt so nicht!

Was meint ihr, versucht der Entwickler zu lügen?

Bringen solche Programme/Apps wirklich was?

(im Screenshot: oben- meine Bewertung, unten- die Antwort des AviraApp Entwicklers.)

Ergänzung:

Um meine Aussage zu untermauern, kann man in Google "Virenscanner unnötig?" googeln! Dazu gibt es enorm viele sehr interessante und wichtige Artikel !

zB.: hier ein Ausschnitt und ein link für jene, die faul sind zu googeln :)

"Laut den Entwicklern von Android ist die Installation eines Virenscanners nicht notwendig. Dennoch gibt es auf dem Markt eine Vielzahl von Apps, die Ihnen dabei helfen sollen, Ihr Android-Smartphone vor Viren und anderer Malware zu schützen."

https://www.kuketz-blog.de/truegerische-sicherheit-virenscanner-apps-sind-schlichtweg-ueberfluessig/

Bild zum Beitrag
Computer, Handy, Software, App, Virus, Samsung, Antivirus, Android, Trojaner, Antivirensoftware, Avira Antivirus, Avira Free Antivirus, Playstore
C++: invalid use of non-static data member ...?

Hallo, ich habe in C++ einen Header für ein Projekt geschrieben aber ich kann innerhalb einer Klasse nicht auf eine Variable zugreifen.

Es kommt immer der Fehler:

..\ast.cpp:61:19: error: invalid use of non-static data member 'Tree::nodes'
 p.set_type(Tree::nodes[id].get_type());

Hier ist der Code:

ast.h:

#ifndef AST_H_
#define AST_H_

class Tree {
public:
    class Node {
    public:
        enum class Type {
            METHOD,
            IF,
            WHILE,
            STATEMENT,
            EXPRESSION
        };

        void set_id(int id);
        void set_id_parent(int id_parent);
        void set_content(const char* content);
        void set_type(Type type);

        Type get_type();
        const char* get_content();
        int get_id();
        int get_parent_id();
        int* get_child_ids();

    private:
        Type m_type{};
        const char* m_content{};
        int  m_id=0;
        int  m_id_parent=-1;
        int* m_child_ids{};
    };

    void create_node(int parent, const char* content);

    Node get_node(int id);

private:
    Node* nodes{};
    int node_amount=0;
};

#endif

ast.cpp:

#include "ast.h"

void Tree::Node::set_id(int id) {
    m_id = id;
}

void Tree::Node::set_id_parent(int id_parent) {
    m_id_parent = id_parent;
}

void Tree::Node::set_content(const char *content) {
    m_content = content;
}

void Tree::Node::set_type(Type type) {
    m_type = type;
}

const char* Tree::Node::get_content() {
    return m_content;
}

Tree::Node::Type Tree::Node::get_type() {
    return m_type;
}

int Tree::Node::get_id() {
    return m_id;
}

int Tree::Node::get_parent_id() {
    return m_id_parent;
}

int* Tree::Node::get_child_ids() {
    return m_child_ids;
}

//

void Tree::create_node(int parent, const char *content) {
    Node p;
    p.set_id(node_amount);
    p.set_id_parent(parent);
    p.set_content(content);
    nodes[node_amount] = p;
    node_amount++;
}

Tree::Node get_node(int id) {
    Tree::Node p;
    p.set_type(Tree::nodes[id].get_type());
    return p;
}

Ich hoffe jemand kann mir sagen warum dieser Fehler kommt

Außerdem wollte ich etwas C benutzen und lernen, also hätte ich noch eine zweite Frage: Kann mir jemand sagen wie ich das ganze nicht in C++ sondern in C mache?

LG

PC, Computer, Software, programmieren, Cplusplus, CPP, development, Informatik, Softwareentwicklung, C (Programmiersprache), cpp lernen, Cpp Programierung

Meistgelesene Fragen zum Thema Software