问题列表 - 第318011页

接受 const char(&)[N] 的函数模板是否比接受 const T& 的函数模板更专业?

我定义了两个版本的函数模板,名为compare:

\n
#include <cstring>\n\nusing namespace std;\n\n// fist version\ntemplate <size_t N, size_t M>\nint compare(const char (&a)[N], const char (&b)[M]) {\n    return strcmp(a, b);\n}\n\n// second version\ntemplate <typename T>\nint compare(const T &a, const T &b) {\n    if (a < b) return -1;\n    if (b < a) return 1;\n    return 0;\n}\n\nint main() {\n    const char *p1 = "dog", *p2 = "cat";\n    compare(p1, p2); // call second version\n    compare("dog", "cat"); // call second version?\n\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

在使用c++11std的CPP Primer(第5版)一书中,作者说compare(p1, p2)将调用第二版模板,因为没有办法将指针转换为对数组的引用。将 …

c++ function-templates overload-resolution compiler-bug

7
推荐指数
1
解决办法
176
查看次数

自 C++20 以来,某些 C++ 标准库 constexpr 函数是否隐式允许为 consteval?

从C++20开始,有一些立即函数,在很多情况下无法获取其地址(P1073R3);大多数标准库函数都是不可寻址的(P0551R3)。

另外,有一些constexpr标准函数总是返回相同的常量值(例如标准std::numeric_limits专业化的静态成员函数,std::barrier<F>::max),并且它们都不是可寻址的。

实现可以将这些函数一致地更改为 吗consteval?

我打算对标准库实现进行这样的更改,并在 MSVC STL 的存储库中进行了讨论,但到目前为止尚未收到任何答复。我还想知道这样的更改是否是一种改进,因为它可能会减少符号表的大小。

c++ language-implementation language-lawyer c++20

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

如何将 Func&lt;T, bool&gt; 转换为 Expression&lt;Func&lt;T, bool&gt;&gt;

我使用这段代码,但出现错误:

错误:System.ArgumentException:“...GreenPaperItem”类型的表达式不能用于方法“Boolean”的“System.Runtime.CompilerServices.Closure”类型的参数

public static Expression<Func<T, bool>> ToExpression<T>(Func<T, bool> p)
{
     ParameterExpression p0 = Expression.Parameter(typeof(T));
     ParameterExpression p1 = Expression.Parameter(typeof(bool));
     return Expression.Lambda<Func<T, bool>>(Expression.Call(p.Method, p0, p1),
           new ParameterExpression[] { p0, p1 });
}
Run Code Online (Sandbox Code Playgroud)

该表达式旨在用于 linq toEntity IQueriyable 查询:

 query = query.Where(ToExpression<GreenPaperItem>(filter.GenerateFilterFunction()));
Run Code Online (Sandbox Code Playgroud)

c# lambda expression expression-trees entity-framework-core

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

Haskell IO、木薯文档、Data.csv

我正在尝试用 Haskell 学习 IO,但我发现它非常令人困惑。浏览了“use :”下cassava关于 hackage 的文档decodeByName

{-# LANGUAGE OverloadedStrings #-}

import Control.Applicative
import qualified Data.ByteString.Lazy as BL
import Data.Csv
import qualified Data.Vector as V

data Person = Person
    { name   :: !String
    , salary :: !Int
    }

instance FromNamedRecord Person where
    parseNamedRecord r = Person <$> r .: "name" <*> r .: "salary"

main :: IO ()
main = do
    csvData <- BL.readFile "salaries.csv"
    case decodeByName csvData of
        Left err -> putStrLn err
        Right …
Run Code Online (Sandbox Code Playgroud)

csv io haskell decode read.csv

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

Perl 在 Linux 上运行失败

我有一个简单的 Perl 脚本,如下所示:

#!/usr/bin/perl
print "###################################\n";
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从命令行执行它时,我总是看到:

[root@testbox001 tmp]# ./def
-bash: ./def: Permission denied
Run Code Online (Sandbox Code Playgroud)

该脚本可执行:

-rwxr-xr-x  1 root root    88 Dec 22 01:42 def
Run Code Online (Sandbox Code Playgroud)

还有 bash 和 shebang:

[root@testbox001 tmp]# ls -l /usr/bin/bash
-rwxr-xr-x. 1 root root 1150560 Jun 20  2022 /usr/bin/bash
[root@testbox001 tmp]# ls -l /usr/bin/perl
-rwxr-xr-x. 2 root root 12752 Jan 17  2023 /usr/bin/perl
[root@testbox001 tmp]#
Run Code Online (Sandbox Code Playgroud)

原因是什么?

我只能显式运行它:

[root@testbox001 tmp]# /usr/bin/perl def
#########################################################
[root@testbox001 tmp]#
Run Code Online (Sandbox Code Playgroud)

linux shell perl

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

解决requires子句中的函数重载

c在尝试满足type 的概念时,Clang 和 GCC 之间似乎存在差异s。当不得不求助于 ADL 来寻找可行的 function 重载时f,Clang 似乎认为重载的自依赖性f(c auto)是一个硬错误。然而,GCC 似乎认为这是替换失败,只是丢弃候选而不是拒绝代码。

void f(int);

template<typename T>
concept c = requires(T t) { f(t); };

struct s {};
void f(s);
void f(c auto);

static_assert(c<s>); // clang nope, gcc ok, msvc nope
Run Code Online (Sandbox Code Playgroud)

这段代码是否应该被拒绝并导致硬错误?C++20 标准对这种情况有何规定?

演示


铿锵错误消息:

<source>:4:13: error: satisfaction of constraint 'requires (T t) { f(t); }'
depends on itself
    4 | concept c = requires(T t) { f(t); };
      |             ^~~~~~~~~~~~~~~~~~~~~~~
<source>:4:13: note: while …
Run Code Online (Sandbox Code Playgroud)

c++ language-lawyer c++-concepts c++20

9
推荐指数
1
解决办法
180
查看次数

我有最新版本的 Xcode,但我的模拟器不是最新版本 17.2。如何更新我的模拟器?

未安装 iOS 17.2。要下载并安装平台,请打开 Xcode,选择 Xcode > 设置 > 平台,然后单击所需平台的 GET 按钮。

Failed to build iOS app
Uncategorized (Xcode): Unable to find a destination matching the provided destination specifier:
{ id:68701885-51DD-4C52-8CD6-240BA3CE89A4 }

    Ineligible destinations for the "Runner" scheme:
        { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device, error:iOS 17.2 is not installed. To use with Xcode, first download and install the platform }
Run Code Online (Sandbox Code Playgroud)

我已经下载了最新版本的 Xcode。

xcode simulator flutter

11
推荐指数
1
解决办法
4517
查看次数

Expo:更改@react-native-community/datetimepicker的强调色

我正在开发一个托管的 Expo 项目(Expo SDK 版本 49)。我用来@react-native-community/datetimepicker显示日期选择器对话框:

import { View } from "react-native";
import RNDateTimePicker from "@react-native-community/datetimepicker";


const DatePickerTest = () => {
        const value = new Date();
        return (
            <View style={{flex: 1}}>
                <RNDateTimePicker
                    mode="date"
                    value={value}
                />
            </View>
        );
    }
;

export default DatePickerTest;
Run Code Online (Sandbox Code Playgroud)

当我在 Android 上运行代码时,将使用继承自 Android 默认主题的标题和选择颜色(在我的例子中为绿色)呈现日期选择器:

日期选择器绿色背景

我知道为了更改强调色,我需要进行更改styles.xml(android/app/src/main/res/values例如参见/sf/answers/3385891001/)。但是,在 Expo 管理的项目中,我无权访问该android文件夹。

如何在不退出 Expo 的情况下更改强调色?

datepicker react-native expo

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

Sveltekit 抛出“ReferenceError:请求未定义”

我刚刚创建了一个新的 sveltekit 应用程序,安装了 flowbite 组件库和 flowbite-svelte-icons 并开始编写一些代码,但是当我检查我的应用程序时,localhost: 5173我看到的是以下消息:

ReferenceError: Request is not defined
    at getRequest (file:///home/emmy/Documents/dev/public/water_watch/frontend/water_watch/node_modules/.pnpm/@sveltejs+kit@2.0.4_@sveltejs+vite-plugin-svelte@3.0.1_svelte@4.2.8_vite@5.0.10/node_modules/@sveltejs/kit/src/exports/node/index.js:101:2)
    at file:///home/emmy/Documents/dev/public/water_watch/frontend/water_watch/node_modules/.pnpm/@sveltejs+kit@2.0.4_@sveltejs+vite-plugin-svelte@3.0.1_svelte@4.2.8_vite@5.0.10/node_modules/@sveltejs/kit/src/exports/vite/dev/index.js:475:27
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
Run Code Online (Sandbox Code Playgroud)

真正奇怪的是,我什至在我的终端上看不到它,它只在浏览器上看到。

我不明白,所以我删除了我编写的所有代码,直到它只是创建项目时的默认内容,但我仍然收到相同的错误消息。

referenceerror sveltekit flowbite

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

pendulum.tz.timezone("UTC") TypeError: 'module' 对象不可调用

我遇到一个问题,无法正确导入气流模块,出现以下错误。有人可以帮我理解吗

10:39:36  ERROR: FileIngestion.test_download_file_mercury (unittest.loader._FailedTest.FileIngestion.test_download_file_mercury)
10:39:36  ----------------------------------------------------------------------
10:39:36  ImportError: Failed to import test module: FileIngestion.test_download_file_mercury
10:39:36  Traceback (most recent call last):
10:39:36    File "/opt/managed-artifacts/python/3.11.6/lib/python3.11/unittest/loader.py", line 419, in _find_test_path
10:39:36      module = self._get_module_from_name(name)
10:39:36               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10:39:36    File "/opt/managed-artifacts/python/3.11.6/lib/python3.11/unittest/loader.py", line 362, in _get_module_from_name
10:39:36      __import__(name)
10:39:36    File "/jenkins/workspace/dataaws-1417_web_proxy_migration/PythonUtils/test/FileIngestion/test_download_file_mercury.py", line 6, in <module>
10:39:36      from PythonUtils.src.FileIngestion import download_file_mercury
10:39:36    File "/jenkins/workspace/dataaws-1417_web_proxy_migration/PythonUtils/src/FileIngestion/download_file_mercury.py", line 2, in <module>
10:39:36      from PythonUtils.src.common.hooks.audit_service import AuditServiceHook
10:39:36    File "/jenkins/workspace/dataaws-1417_web_proxy_migration/PythonUtils/src/common/hooks/audit_service.py", line 6, in <module>
10:39:36      from airflow.utils.log.logging_mixin import LoggingMixin
10:39:36 …
Run Code Online (Sandbox Code Playgroud)

python typeerror python-3.x airflow

9
推荐指数
2
解决办法
3932
查看次数