标签: name-conflict

亚马逊云端分布与多个来源发生冲突吗?

我在2个网站上有2个不同的图像:

如果我有2个起源创建一个Amazon的Cloudfront分布:www.siteA.comwww.siteB.com,然后我呼吁uniqueDistributionID.cloudfront.net/avatar.png,然后avatar.png将被退回?中的一个siteA还是一个siteB

为什么不呢?

试图了解Cloudfront发行版中冲突的可能性.

conflict cdn content-delivery-network name-conflict amazon-cloudfront

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

如何解决C++命名空间和全局函数之间的名称冲突?

如果我在log某处定义名称空间并使其在全局范围内可访问,则会与double log(double)标准cmath标题冲突.实际上,大多数编译器似乎也同意它 - 大多数版本的SunCC,MSVC,GCC - 但GCC 4.1.2没有.

不幸的是,似乎没有办法解决歧义,因为using声明对于命名空间标识符是不合法的.你知道我可以log::Log在全局命名空间中编写任何方式cmath吗?

谢谢.

编辑:有人会知道C++ 03标准对此有何看法?我原以为范围运算符足以消除log下面代码示例中的使用歧义.

#include <cmath>

namespace foo
{

namespace log
{

struct Log { };

} // namespace log

} // namespace foo


using namespace foo;

int main()
{
    log::Log x;

    return 0;
}

// g++ (GCC) 4.1.2 20070115 (SUSE Linux)

// log.cpp: In function `int main()':
// log.cpp:20: error: reference to `log' is ambiguous
// /usr/include/bits/mathcalls.h:110: …
Run Code Online (Sandbox Code Playgroud)

c++ namespaces name-conflict

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

如何使用setuptools管理多个python子项目?

我想知道你想要使用相同基础包的子项目的正确/最简单/最pythonic方式.我们目前有这样的文件结构:

trunk\
    proj1\setup.py
          company_name\__init__.py + proj1's code
    proj2\setup.py
          company_name\__init__.py + proj2's code
Run Code Online (Sandbox Code Playgroud)

我们希望保持命名空间company_name对我们所有的项目都是通用的(也许这本身就是unpythonic?)但是当proj1和proj2安装在开发模式下时,第一个安装会被破坏.它看起来import company_name...很困惑在哪个company_name包中查找它并抓取第一个/最后一个/随机一个.

通常如何在更大的python项目中处理?是否可以通过构建某种巨型蛋的主干中的setup.py来解决这个问题?我没有在谷歌或堆栈上找到任何相关信息,所以任何信息甚至只是链接非常感谢!


编辑:我刚尝试在根文件夹中添加setup.py

...    
namespace_packages = ['company_name'],
package_dir = {'company_name' : ['proj1/company_name', 'proj2/company_name']}
...
Run Code Online (Sandbox Code Playgroud)

适当pkg_resources.declare_namespace(__name__)__init_.py文件,但./setup.py bdist_egg 只是给出:

company_name setup命令中的错误:分发包含名称空间包'company_name'的模块或包

python setuptools package name-conflict namespace-package

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

如何告诉Haskell不从两个模块导入相同的实例?

我正在使用以下类型类:

module T where
class T a where
  v :: a
Run Code Online (Sandbox Code Playgroud)

T Int我实现的一个实例:

import T
import A (av)

instance T Int where
  v = 0

main = putStrLn (av ++ show v)
Run Code Online (Sandbox Code Playgroud)

还有一个模块,我想使用一个值,也有一个实例T Int.

module A where
import T
instance T Int where
  v = 0
av = "value from A"
Run Code Online (Sandbox Code Playgroud)

问题是这不起作用:

$ runghc Main.hs 

Main.hs:4:9:
    Duplicate instance declarations:
      instance T Int -- Defined at Main.hs:4:9-13
      instance T Int -- Defined at A.hs:3:9-13
Run Code Online (Sandbox Code Playgroud)

Haskell抱怨同一个实例有2个声明.我如何告诉他不要从中导入实例B,或统一这两个实例,或仅使用实例Main …

haskell namespaces typeclass name-conflict

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

模板结构和模板成员函数之间的名称冲突

在下面,GCC将模板结构namename类的模板成员函数混淆A,而Clang编译精细(实例):

template<typename T>
struct name {};

struct A
{
    template<bool B>
    void name() { }
};

template<bool B, typename T>
void f(T& x) { x.template name<B>(); }
Run Code Online (Sandbox Code Playgroud)

函数f显然是A在本例中使用类型的参数调用,但它可能是其他任何东西,因此f需要保留模板函数.

我不关心哪个编译器是正确的,我只需要一个解决方法因为我真的不知道除了之外的任何语法

x.template name<B>();
Run Code Online (Sandbox Code Playgroud)

调用成员函数,我看不出using声明或任何其他消除歧义的方式如何适用.

编辑是的,我现在尝试了更明确的语法

x.T::template name<B>();
Run Code Online (Sandbox Code Playgroud)

哪个有效,但真的很难看.有什么办法让简短的语法有效吗?否则,最好将两个名称中的一个更改为......

EDIT2我原来的版本f作品上一个普遍的参考T&&,这需要最丑

using X = typename std::remove_reference<T>::type;
x.X::template name<B>();
Run Code Online (Sandbox Code Playgroud)

以防万一T是一个参考...而这一切都是为了一个简单的函数调用.

c++ templates name-conflict template-function

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

新的MATLAB版本使用类方法覆盖我的函数.我还可以打电话给我吗?

harmonic.m在matlab路径中的一个文件中有一个函数原型:

function D = harmonic(A,B,C)
Run Code Online (Sandbox Code Playgroud)

其中,重要的A是,预计将是double类型的矩阵.

在版本r2014a中,显然MATLAB已经创建了一个新的内置类方法double.harmonic.因此,当我调用我的函数时,我在错误中得到错误harmonic.我harmonic在路径列表中更接近(which harmonic显示我的路径)并没有帮助,因为我的第一个输入是A并且harmonic(A,B,C)似乎相当于A.harmonic(B,C).

有没有办法直接调用我的函数?要忽略这个double.harmonic功能?我知道我可以从路径创建一个函数句柄,但那很讨厌.我正在寻找更优雅的解决方案或解决方法.最明显的是改变我的功能名称,但后来我会感到被欺负: - (.

matlab overriding function name-clash name-conflict

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

如何在 ON CONFLICT 子句中消除 plpgsql 变量名称的歧义?

鉴于此表:

create table test (
    name text primary key
);
Run Code Online (Sandbox Code Playgroud)

我需要编写一个变量名与主键名冲突的 plpgsql 函数,我必须在on conflict子句中使用它:

create or replace function func(
    name text                               -- this variable name...
) returns void language plpgsql as 
$$
begin 
    insert into test (name) values (name) 
    on conflict (name) do update            -- ...conflicts with this line
    set name = func.name; 
end; 
$$;
Run Code Online (Sandbox Code Playgroud)

这会编译,但会抛出一个不明确的列引用:

select * from func('one');
ERROR:  column reference "name" is ambiguous
LINE 2:     on conflict (name) do update 
                        ^
DETAIL:  It could refer …
Run Code Online (Sandbox Code Playgroud)

sql postgresql upsert plpgsql name-conflict

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

当两个 Angular 库存在属性名称冲突时我该怎么办?

我正在使用两个库编写一个角度应用程序:ngx-bootstrap 和 ng-apexcharts。ApexCharts 提供了一个名为 的角度分量,它接受类型为 的<apx-chart>输入。html 看起来像这样:tooltipApexTooltip

  <apx-chart 
    [series]="[{data: timelineData}]"
    [chart]="timeline.chart"
      [fill]="timeline.fill"
      [legend]="timeline.legend"
      [plotOptions]="timeline.plotOptions"
      [xaxis]="timeline.xaxis"
      [colors]="timeline.colors"
      [title] = "timeline.title"
      [tooltip]="timeline.tooltip"
      [yaxis] = "timeline.yaxis"
   ></apx-chart>
Run Code Online (Sandbox Code Playgroud)

以下是角度顶点图表文档的链接:https ://apexcharts.com/docs/angular-charts/

ngx-bootstrap 提供了一个名为的模块TooltipModule,当导入到应用程序模块中时,允许您在任何元素上放置tooltip属性,并且当用户将鼠标悬停在该元素上时,它将创建一个工具提示。看起来是这样的:

  <button type="button" class="btn btn-default btn-secondary mb-2"
      tooltip="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.
      placement="top">
    Tooltip on top
  </button>
Run Code Online (Sandbox Code Playgroud)

以下是 ngx-bootstrap 工具提示文档的链接:https://valor-software.com/ngx-bootstrap/#/tooltip

我试图一起使用这两个库,但是当我将工具提示模块添加到应用程序模块导入中时,出现编译错误。

@NgModule({
  imports: [
    BrowserModule,
    TooltipModule.forRoot(),
    ...
  ]
...
Run Code Online (Sandbox Code Playgroud)
Error: src/app/activity-report/details/details.component.html:52:8 - error TS2322: Type 'ApexTooltip' is not assignable to …
Run Code Online (Sandbox Code Playgroud)

name-conflict property-binding ngx-bootstrap angular apexcharts

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

如何处理我的antlr语法和目标语言之间冲突的函数名称

我有一个包含eval和round函数名的语法,这些函数在python中已经是函数,当我尝试使用以下函数生成监听器:

antlr4 -listener -lib/src/grammar -Dlanguage = Python3 -o/gen -no-visitor /src/grammar/Grammar.g4

我得到以下内容:

error(134):Grammar.g4:138:0:符号与目标语言或运行时错误中生成的代码冲突(134):Grammar.g4:174:0:符号eval与目标语言中生成的代码或运行时错误冲突( 134):Grammar.g4:62:3:符号eval与目标语言或运行时错误中生成的代码冲突(134):Grammar.g4:134:3:符号与目标语言或运行时生成的代码发生冲突

我不能简单地将eval/round更改为其他名称,因为我正在编写不同dls的克隆.是否可以创建命名空间或以其他方式解决此问题而不更改我的语法语言语法?

python grammar parsing name-conflict antlr4

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

解决在C++中调用具有相同名称的函数的方法中的冲突

考虑以下用于方形矩阵的(模板化)C++结构的精简示例(不需要模拟问题发生):

#include <array>
#include <complex>
using namespace std;

double conj (double &x) { return x; };

template <typename T, int N>
struct matrix: array<T,N*N> {
    void conj() {
        for (int ij=0; ij<100; ++ij) {
            T z = (*this)[ij];
            (*this)[ij] = conj(z);
        }
    }
};

int main() {
    matrix<double,10> a;
    a.conj();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想实现一个执行矩阵复共轭的方法,使用名称.conj()与<complex>库中使用的命名系统一致.但是,我收到以下错误:

$ g++ example.cpp -std=c++11
example.cpp: In instantiation of ‘void matrix<T, N>::conj() [with T = double; int N = 10]’:
example.cpp:19:12:   required from here
example.cpp:12:26: error: no …
Run Code Online (Sandbox Code Playgroud)

c++ name-conflict

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