小编Jor*_*ean的帖子

可以std :: begin使用数组参数吗?如果可以,怎么做?

我在使用std::begin()std::end()(从iterator库中)使用c风格的数组参数时遇到了麻烦.

void SetOrigin(const double i_point[3]) {
  Vector v;
  std::copy(
    std::begin(i_point), 
    std::end(i_point), 
    v.begin());
  this->setOrigin(v);
}
Run Code Online (Sandbox Code Playgroud)

这导致Visual Studio 2010出现以下错误(类似于结束):

error C2784: '_Ty *std::begin(_Ty (&)[_Size])' : could not deduce template argument for '_Ty (&)[_Size]' from 'const double []'
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility(995) : see declaration of 'std::begin'
Run Code Online (Sandbox Code Playgroud)

将参数更改为非const会产生相同的结果.

尝试将参数指定为

...
std::begin<const double, 3>(i_point), 
std::end<const double, 3>(i_point),
...
Run Code Online (Sandbox Code Playgroud)

得到:

error C2664: '_Ty *std::begin<const double,3>(_Ty (&)[3])' : cannot convert parameter 1 from 'const double []' to …
Run Code Online (Sandbox Code Playgroud)

c++ arrays iterator stl std

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

如何通过 --set 命令行参数在 Helm 图表中设置 ingress.hosts[0].host

在 Helm 图表中,当尝试通过 --set 命令行参数设置“ingress.hosts[0].host”时,values.yaml 文件中指定的“paths”数组值不会添加到最终输出。

我想覆盖“ingress.hosts[0].host”密钥以在命令行上部署到不同的 DNS 区域。如果我将主机添加到values.yaml 文件中,它确实会生成正确的入口,但这意味着拥有不同的values.yaml 文件,而不是重复使用相同的文件,但具有不同的DNS 区域。

ingress.yaml Helm 模板

rules:
    {{- range .Values.ingress.hosts }}
    - host: {{ .host | quote }}
      http:
        paths:
          {{- range .paths }}
          - path: {{ .path }}
            {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
            pathType: {{ .pathType }}
            {{- end }}
            backend:
              {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
              service:
                name: {{ $fullName }}
                port:
                  number: {{ $svcPort }}
              {{- else }}
              serviceName: {{ $fullName }}
              servicePort: {{ $svcPort …
Run Code Online (Sandbox Code Playgroud)

command-line-arguments kubernetes-helm

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

如何将机密从 VSTS 传递到测试执行上下文中

需要传递到测试的测试执行上下文中的值通常通过 VSTS 中的“变量”传递。这些通常显示为环境变量。

这些值可能需要保密(来自服务主体的客户端机密、密码等)。但是,如果您单击VSTS变量窗口中的“锁定”按钮,对于一个给定的变量,它不会得到导出到作为环境变量的测试执行上下文(不同于非秘密变量),通过设计

你如何传递秘密变量并在测试中检索它们?

c# vstest azure-devops

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

如何在同一解决方案中声明一个对象并从另一个Project中定义的类调用其方法?

我正在尝试使用Microsoft CppUnitTestFramework.我在一个解决方案中有两个独立的项目,一个是实际代码,另一个是单元测试代码.现在我想测试第一个项目中定义的"DijkstarImpl"类,并在项目Properties-> C++ - > General-> AdditionalInclude目录中添加了此类的路径.测试项目编译成功,但是当我运行测试时,我收到此错误:

错误2错误LNK2001:未解析的外部符号"public:static class DijkstarImpl*UnitTest_FasTrack :: UnitTest1 :: dijkstarImpl"(?dijkstarImpl @ UnitTest1 @ UnitTest_FasTrack @@ 2PAVDijkstarImpl @@ A)C:\ working\TestFastTrack\UnitTest_FasTrack\unittest1.obj

错误3错误LNK2001:未解析的外部符号"public:__thiscall DijkstarImpl :: DijkstarImpl(void)"(?? 0DijkstarImpl @@ QAE @ XZ)C:\ working\TestFastTrack\UnitTest_FasTrack\unittest1.obj

错误是链接器错误,但我不知道应该链接什么?它不是要包含在Properties-> Linker-> Input中的lib文件.以下代码段显示了单元测试代码.

#include "stdafx.h"
#include "CppUnitTest.h"
#include "DijkstarImpl.h"
#include "string.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest_FasTrack
{       
TEST_CLASS(UnitTest1)
{
    static DijkstarImpl*  dijkstarImpl;

public:
    TEST_CLASS_INITIALIZE(Initialize) 
    {           

        static DijkstarImpl*  UnitTest_FasTrack::UnitTest1::dijkstarImpl;
    }

    TEST_METHOD(TestMethod1)
    {



    }

};
}
Run Code Online (Sandbox Code Playgroud)

linker-errors unresolved-external visual-c++

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

模拟ORA-3113:通信通道上的文件结束

我有一个C#Windows IIS服务器(Windows Server 2003)应用程序连接到Linux上托管的Oracle数据库(Red Hat 5.3上的10gR2).间歇性地,Oracle在通信信道错误上抛出ORA-3113:文件结束.这会在C#中搞砸OracleConnection对象.然后,任何尝试使用OracleConnection的新OracleCommands都会失败,说连接已关闭.

我已经查看了此错误生成的Oracle跟踪文件,并将问题隔离到有故障的网络硬件,并正在努力解决它.

但是,我需要使我的C#代码更加健壮,并通过关闭而不再使用该连接对象使其适当地响应此错误.在C#中捕获异常很容易,但是我无法在开发环境中重现网络问题来证明我的代码可以自行运行并清理.

try
{
  oracleCommand.ExecuteNonQuery();
}
catch(OracleException exception)
{
  if(exception.Code == 3113)
    CloseAndCleanup();
}
Run Code Online (Sandbox Code Playgroud)

当我尝试INSERT到表中时,我尝试在抛出ORA-3113的表上编写PL/SQL触发器.

CREATE OR REPLACE TRIGGER SCHEMA.TABLE
BEFORE DELETE OR INSERT OR UPDATE
ON SCHEMA.TABLE
FOR EACH ROW
DECLARE
  CONNECTION_LOST_CONTACT   EXCEPTION;
  PRAGMA EXCEPTION_INIT (CONNECTION_LOST_CONTACT, -3113);
BEGIN
  RAISE CONNECTION_LOST_CONTACT;
END;
Run Code Online (Sandbox Code Playgroud)

这会抛出正确的错误,但不会破坏C#中的OracleConnection对象.我仍然可以向OracleConnection发送命令并且它可以工作.

如何准确模拟ORA-3113错误?

c# oracle plsql

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

从 Angular HttpClient 向 ASP.NET Core 2.2 Web API(启用 CORS)进行 POST 调用时出现 404 错误

我写了一个简单的ASP.NET Core 2.2 Web API. 该POST方法始终返回404,但 GET 请求成功。

public class TestPayload
{
    public string test1 { get; set; }
    public string test2 { get; set; }
}

[Route("api/[controller]")]
[ApiController]
public class TestController: ControllerBase
{        
    // POST api/create
    [HttpPost]
    public async Task<ActionResult<string>> Create([FromBody] TestPayload value)
    {
        return Ok("");
    }
}
Run Code Online (Sandbox Code Playgroud)

我在 Angular HttpClient 前端收到 404 错误。

let headers = new HttpHeaders().set('Content-Type', 'application/json');

return this.http.post<any>(`${config.apiUrl}/test/create`, { test1, test2}, { headers }).pipe(map(x => {
                        ...               
                        return x; …
Run Code Online (Sandbox Code Playgroud)

c# cors asp.net-core asp.net-core-webapi

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

客户端在尝试执行连接时已断开连接

当尝试连接到本地运行的 Mosquitto MQTT 队列时,出现以下错误。

Unhandled exception. System.AggregateException: One or more errors occurred. (The client  has been disconnected while trying to perform the connection)
 ---> System.Net.Mqtt.MqttClientException: The client  has been disconnected while trying to perform the connection
   at System.Net.Mqtt.Sdk.MqttClientImpl.ConnectAsync(MqttClientCredentials credentials, MqttLastWill will, Boolean cleanSession)
Run Code Online (Sandbox Code Playgroud)

我在设置时使用默认选项System.Net.Mqtt.MqttClient

Unhandled exception. System.AggregateException: One or more errors occurred. (The client  has been disconnected while trying to perform the connection)
 ---> System.Net.Mqtt.MqttClientException: The client  has been disconnected while trying to perform the connection
   at System.Net.Mqtt.Sdk.MqttClientImpl.ConnectAsync(MqttClientCredentials …
Run Code Online (Sandbox Code Playgroud)

c# mqtt mosquitto .net-core

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