小编use*_*301的帖子

如何在ios14中复制IndexedDB“根据用户请求删除数据库”错误?

我正在使用优秀的 ht ​​tps ://www.npmjs.com/package/idb包来管理 Web 应用程序上的简单 indexedDB 实现。

对于大量 iOS 用户,我向我们的错误报告系统报告了此错误“UnknownError:数据库已根据用户的请求删除”,但我在复制时遇到了问题。

到目前为止,它似乎只影响用户:

  • Mobile Safari 14.6、14.4.2,通过 try/catch 捕获
  • Instagram webview,iOS 14.7.1 - 没有被 try/catch 捕获

我认为错误的根源是webkit中的这一行https://github.com/WebKit/WebKit/blob/e98ff129bc8eba06ac17105f19c5f0e142aab853/Source/WebCore/Modules/indexeddb/shared/IDBError.h#L40

这似乎与服务器连接关闭有关。

实现的简化版本:

// ./store.js
import { openDB } from 'idb'

export const upgrade = (db) => {
  if (!db?.createObjectStore) return null
  db.createObjectStore('example_store_name_1')
}

export const set = async (storeName, val, key) => {
  const dbPromise = openDB('example_db_name', 1, { upgrade })
  if (!window.indexedDB) return null
  return (await dbPromise).put(storeName, val, key)
}

export const …
Run Code Online (Sandbox Code Playgroud)

javascript webkit mobile-safari indexeddb

9
推荐指数
0
解决办法
1735
查看次数

为 vscode 调试器的 C++ 类型创建“可视化工具”

在指令(https://code.visualstudio.com/docs/cpp/launch-json-reference)中,我看到VSCode可以使用“.natvis”文件。然后它引用 Visual Studio 中的文档,因此大多数使用信息不适用,但有一个关于文件语法的相当简短的部分。

  • 它说“Natvis 自定义适用于类和结构,但不适用于 typedef”。但是类型别名的情况如何呢using?“变量”窗格中向我显示的类型确实涉及using创建代码随后使用的名称,尽管它实际上是在内部命名空间和模板别名中定义的。我需要解开没有任何usings 的名称吗?

  • 它提供了一个简单的模板示例,但该示例使用类型参数并且仅使用一个模板参数。那么非类型参数呢?是对*要匹配的名称字符串进行操作还是仅对名称的各个部分进行操作?

    template <int S, int F>
    class Decimal { ... };
    
    Run Code Online (Sandbox Code Playgroud)
  • 有关在 Visual Studio 2019(在 Windows 上!)中打开诊断的信息与 VSCode 完全无关。我该如何排除故障?

  • 如上所述,我有一个Decimal用整数表示定点数的类。当函数无法调用时,如何制作我想要的输出?字符串操作可以工作,一旦整数成员(字段)形成字符串用于显示,我只需要在右边的位置插入一个F小数点

c++ vscode-debugger

7
推荐指数
0
解决办法
618
查看次数

加号运算符的 C++ 重载

我想通过重载 + 运算符来添加 2 个对象,但是我的编译器说没有匹配的函数可以调用 point::point(int, int)。有人可以帮我处理这段代码,并解释错误吗?谢谢你

#include <iostream>

using namespace std;

class point{
int x,y;
public:
  point operator+ (point & first, point & second)
    {
        return point (first.x + second.x,first.y + second.y);
    }
};

int main()
{
    point lf (1,3)
    point ls (4,5)
    point el = lf + ls;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ int sum operator-overloading operator-keyword

6
推荐指数
1
解决办法
8568
查看次数

使用二维数组作为一维数组是否正确?可能会导致未定义的行为吗?

这段代码合适吗?由于某种原因,使用2维数组作为1维弃用了吗?

char tab1[3][3];

for(int i = 0; i < 3; i++)
    for(int j = 0; j < 3; j++)
       tab1[i][j] = (char)i;

printf("%c", ((char*)tab1)[3]); // == tab1[1][0]
Run Code Online (Sandbox Code Playgroud)

c++ arrays

5
推荐指数
1
解决办法
106
查看次数

如何突出显示 ninja 构建系统生成的错误?

当我编译 cpp 时,如何设法突出显示 ninja 生成的错误和警告?当我遇到错误时,我只看到白色文本,如果我可以突出显示错误和警告,将会提高可读性。

c++ ninja

5
推荐指数
1
解决办法
3305
查看次数

Visual Studio Code 与 C++ 的链接错误

为了学习 C++,我在 Mac 上安装了带有 Catalina 的 Visual Studio Code。安装的扩展C/C++C/C++ Extension PackC++ IntellisenseCMake ToolsCode Runner

为了测试 VSCode,我尝试运行以下代码:

再见.cpp:

#include <iostream>

void tryMe(int s) {
    std::cout << "ok";
}
Run Code Online (Sandbox Code Playgroud)

再见.h:

void tryMe(int s);
Run Code Online (Sandbox Code Playgroud)

你好.cpp:

#include <iostream>
#include "bye.h"

int main() {
    tryMe(3);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但它不会运行,因为它会导致编译错误:

$ cd "/Users/x/Workspace/LearnCPP/" && g++ hello.cpp -o hello && "/Users/x/Workspace/LearnCPP/"hello
Undefined symbols for architecture x86_64:
  "tryMe(int)", referenced from:
      _main in hello-ef5e99.o
ld: symbol(s) not found for architecture …
Run Code Online (Sandbox Code Playgroud)

c++ linker-errors visual-studio-code

5
推荐指数
1
解决办法
5264
查看次数

为什么auto y = reference_to_x的地址与x的地址不一样?

假设您有以下代码:

long& fn2(long& another_var1, long another_var2){

    another_var1 = another_var1 + another_var2;
    another_var2 = another_var2 + another_var1;

    return another_var1;
}

int main (){
    cout << boolalpha;

    long var1 = 5;
    long var2 = 10;

    auto result = fn2(var1, var2);

    cout << &result << endl;
    cout << &var1 << endl;
    cout << result << endl; //Line 1
    cout << (&result == &var1) << endl; //Line 2 
}
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作,直到你到达Line 2,false返回的地方.当你auto result,它应该是一个引用变量another_var1,它是一个引用var1,即它们都应该具有相同的地址 - 它们只是同一内存的名称别名.看着 …

c++ pointers reference memory-address

4
推荐指数
1
解决办法
162
查看次数

如何使用 python 运行 Hello world C++ 代码

我想知道如何创建一个运行 C++ 代码的 python 脚本。

我确实找到了一些关于 subprocess 模块的讨论,但它用于运行命令我确实找到了一些关于 Boost 和 Swig 的讨论,但作为初学者我不明白如何使用它们

测试子流程:

import subprocess
subprocess.call(["g++", "main.cpp"],shell = True)
tmp=subprocess.call("main.cpp",shell = True)
print("printing result")
print(tmp)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我吗!

c++ python

4
推荐指数
2
解决办法
1684
查看次数

在 C++ 中计算任何结构的简单方法

在 C++ 中,有没有办法定义一个打印每个结构的函数?我的意思是,在我们的项目中,有很多结构体;我有时需要打印它们以进行调试。我希望它们可以轻松打印,而无需向每个结构添加友元 ostream 函数。

struct type{
    string name;
    int id;
}
type aType;
aType.name= sahin;
aType.id=10;
Run Code Online (Sandbox Code Playgroud)

该函数可以这样工作:

printStruct(aType);
{
    name:sahin
    id:10
}
Run Code Online (Sandbox Code Playgroud)

然后,如果可能的话,我需要一种打印结构向量的方法。类似于 js 中的 JSON.stringify。

c++ struct

4
推荐指数
2
解决办法
774
查看次数

在单链表 C++ 中实现复制构造函数

我有一个 C++ 代码:

#include <iostream>
using namespace std;
struct Node;

typedef Node *NodePtr;

struct Node
{
    int Item;
    NodePtr Next;
};

class LinkedList
{
public:
    LinkedList();                   // default constructor
    ~LinkedList();                  // destructor
    void AddTail(int);              // adds item to tail
private:
    NodePtr Head;
};

LinkedList::LinkedList()
{
    Head = NULL; //declare head as null
}
//Adding on tail
void LinkedList::AddTail(int Item)
{
    NodePtr Crnt;
    NodePtr node = new Node;
    node->Item = Item;
    node->Next = NULL;
//if head is in null declare the …
Run Code Online (Sandbox Code Playgroud)

c++ constructor destructor linked-list copy-constructor

3
推荐指数
1
解决办法
2万
查看次数